• Java之面向对象中


    一、面向对象的特征之二:继承性

    1. 继承性的好处

    • 减少代码的冗余,提高代码的复用性
    • 便于功能的扩展
    • 为之后的多态性的使用,提供了前提

    2. 继承性的格式

    继承性的格式:Class A extends B{}

    • A:子类、派生类、subclass
    • B:父类、超类、基类、superclass
    • 体现:一旦子类A继承父类B之后,子类A中就获取父类B中声明的所有的属性和方法。特别的,父类声明为private的属性或方法,子类继承父类以后,仍然认为获取了父类中私有的结构。只因封装性的影响,使得子类不能直接调用父类的结构而已。
    • 子类继承父类以后,还可以声明自己特有的属性和方法:实现功能的扩展。

    典型代码:

    package 继承性;
    
    public class Person {
    	String name;
    	private int age;
    	
    	public Person() {
    		
    	}
    	public Person(String name, int age) {
    		this.name = name;
    		this.age = age;
    	}
    	
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	
    	public void eat() {
    		System.out.println("吃饭");
    		sleep();
    	}
    	
    	private void sleep() {
    		System.out.println("睡觉");
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    package 继承性;
    
    public class Student extends Person{
    //	String name;
    //	int age;
    	String major;
    	
    	public Student() {
    		
    	}
    
    	public Student(String name, int age, String major) {
    		this.name = name;
    //		this.age = age; 会报错
    		this.setAge(age);
    		this.major = major;
    	}
    	
    //	public void eat() {
    //		System.out.println("吃饭");
    //	}
    //	
    //	public void sleep() {
    //		System.out.println("睡觉");
    //	}
    //	
    	public void study() {
    		System.out.println("学习");
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    package 继承性;
    public class ExtendsTest {
    	public static void main(String[] args) {
    		Person p1 = new Person();
    //		p1.age = 1;
    		p1.eat();
    		
    		Student s1 = new Student();
    		s1.eat();
    //		s1.sleep();
    		s1.setAge(10);
    		System.out.println(s1.getAge());
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3. Java中关于继承性的规定

    1. 一个类可以被多个子类继承
    2. Java中类的单继承性:一个类只有一个父类
    3. 子父类时相对的概念
    4. 子类直接继承的父类,称为:直接父类。间接继承的父类称为:间接父类
    5. 子类继承父类以后,就获取父类以及所有的间接父类的所有的属性和方法

    4. Object类

    1. 如果我们没有显示声明一个类的父类的话,则此类继承与java.lang.Object类
    2. 所有的Java类(除java.lang.Object类之外)都直接或间接的继承于java.lang.Object
    3. 意味着,所有的Java类具有java.lang.Object类声明的功能
  • 相关阅读:
    汽车摄像头匿名化处理解决方案,保护信息的安全性和隐私性
    JavaScript详解(二)
    偏微分方程算法之二阶双曲型方程交替方向隐格式
    python — 正则表达式
    selenium无头浏览器
    拓端tecdat|数据预处理之异常值处理
    大数据——Zookeeper ZBA协议(四)
    磐维数据库PanWeiDB备份恢复响应超时
    微信小程序轮播
    【数据结构】设计环形队列
  • 原文地址:https://blog.csdn.net/weixin_52068218/article/details/125896674