JAVA三大特性之->继承

继承

  • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模
  • extends 的意思是“扩展”,子类是父类的扩展
  • Java中类只有单继承,没有多继承
    • 💚 一个儿子只有一个爸爸,一个爸爸可以有多个儿子
  • 继承是类和类之间的一种关系,除此之外类和类之间的关系还有依赖,组合,聚合等
  • 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字 extends 来表示
  • 子类和父类之间,从意义上讲应该具有**“ is a ”**的关系

🚗 object类

package OOP.Demo04;

/**
 * @author 吴某人
 * @PackageName:OOP.Demo04
 * @ClassName:Person
 * @Description:
 * @date 2020/9/8 0008 16:15
 */

    //在java中,所以的类,都默认直接或者间接继承object
    //person 人: 父类

    //public 公共的
    //protected 受保护的
    //default 默认的
    //private 私有的

    //Ctrl+H 查看继承关系
public class Person /*默认继承 extends object*/{
    //属性
    public int money = 10_0000_0000; // 可继承
    private String name = "张三";    // 私有的不可继承

    //方法
    public void say(){
        System.out.println("说了一句话!");
    }

    //无法直接操作,可以利用方法操作
    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }
}



package OOP.Demo04;

/**
 * @author 吴某人
 * @PackageName:OOP.Demo04
 * @ClassName:Student
 * @Description:
 * @date 2020/9/8 0008 16:16
 */

    //学生 is 人
    //子类继承了父类,就会拥有父类的全部方法
public class Student extends Person{

}


package OOP.Demo04;

/**
 * @author 吴某人
 * @PackageName:OOP.Demo04
 * @ClassName:Application
 * @Description:
 * @date 2020/9/8 0008 16:16
 */

public class Application {
    public static void main(String[] args) {
        Student student = new Student();
        student.say();
        System.out.println(student.money);

        // 报错! System.out.println(student.name);

        student.setMoney(2000);
    }
}


package OOP.Demo04;

/**
 * @author 吴某人
 * @PackageName:OOP.Demo04
 * @ClassName:Teacher
 * @Description:
 * @date 2020/9/8 0008 16:18
 */

//老师 is 人
public class Teacher  extends Person{

}

🚗super

super注意点:    
		1.super调用父类的构造方法,必须在			构造方法的第一个    
		2.super必须只能出现在子类的方法或			者构造方法中   
      3.super和this不能同时调用构造方				法!
      
      
      VS 
      
this:   
	代表的对象不同:        
		this:本身调用这个对象        		 super:代表父类对象的应用   
        
      前提:        
      this:没有继承也可以使用        		super:只能在基础条件下才可以使用 
      
构造方法:        
      this(); 本类的构造         		super(); 父类的构造

🚗方法重写

​ **重写:**需要有继承关系,子类重写父类的方法

​ 1.方法名必须相同

​ 2.参数列表必须相同

3.修饰符:范围可以扩大但不能缩小:public->Protected->Default->private

4.抛出异常:范围,可以缩小,但不能扩大重写:子类的方法和父类必须一致,方法体不同

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值