Java基础学习之继承

Java语言只支持单继承,不支持多继承,但是可以多层继承。Object类是Java中所有类的祖宗。

父类

public class Jianlin {
    // 公开成员
    public long money;
    public void youTin(){}

    // 私有成员
    private String name;
    private void shouJi(){}
}

子类

public class Test {
    public static void main(String[] args) {
       
        SiCong siCong = new SiCong();
		//父类公有成员,子类对象是可以调用的
        System.out.println(siCong.money);
        siCong.youTin();

        //父类私有成员,子类对象时不可以调用的
        // System.out.println(siCong.name);
        // siCong.shouJi();
    }
}

权限修饰符

public class Fu {
    // 1、私有:只能在本类中访问
    private void privateMethod(){
        System.out.println("==private==");
    }

    // 2、缺省:本类,同一个包下的类
    void method(){
        System.out.println("==缺省==");
    }

    // 3、protected: 本类,同一个包下的类,任意包下的子类
    protected void protectedMethod(){
        System.out.println("==protected==");
    }

    // 4、public: 本类,同一个包下的类,任意包下的子类,任意包下的任意类
    public void publicMethod(){
        System.out.println("==public==");
    }
}

方法重写

当子类觉得父类方法不好用,或者无法满足子类需求时,子类可以重写一个方法名称、参数列表一样的方法,去覆盖父类的这个方法,这就是方法重写。

注意:重写后,方法的访问遵循就近原则。

父类

public class A {
    public void print1(){
        System.out.println("111");
    }

    public void print2(int a, int b){
        System.out.println("111111");
    }
}

子类

public class B extends A{
    // 方法重写
    @Override 
    public void print1(){
        System.out.println("666");
    }

    // 方法重写
    @Override
    public void print2(int a, int b){
        System.out.println("666666");
    }
}

注意

  • 重写的方法上面,可以加一个注解@Override,用于标注这个方法是复写的父类方法
  • 子类复写父类方法时,访问权限必须大于或者等于父类方法的权限
  • 重写的方法返回值类型,必须与被重写的方法返回值类型一样,或者范围更小
  • 私有方法、静态方法不能被重写,如果重写会报错。

this和super

访问本类成员:
	this.成员变量	//访问本类成员变量
	this.成员方法	//调用本类成员方法
	this()		   //调用本类空参数构造器
    this(参数)	  //调用本类有参数构造器
	
访问父类成员:
	super.成员变量	//访问父类成员变量
	super.成员方法	//调用父类成员方法
	super()		   //调用父类空参数构造器
    super(参数)	  //调用父类有参数构造器
    
注意:thissuper访问构造方法,只能用到构造方法的第一句,否则会报错。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值