java学习第九次学习笔记

java学习第九次学习笔记



前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、继承

1.继承的概念

继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法

实现继承的格式

继承通过extends实现
格式:class子类extends父类{ }
举例:class Dog extends Animal { }

public class Fu{
    
    
   public void how(){
    
    
       System.out.println("how方法被调用");
  }
}
public class Zi extends Fu{
    
    
   public void method(){
    
    
      System.out.println("method方法被调用");
   }
}
public class Demo{
    
    
   public static void main(String[]args){
    
    
//创建对象,调用方法
      Fu f=new Fu();
      f.how();
      Zi z=new Zi();
      z.method();
      z.how();
    }
}

2.继承中变量的访问特点

在子类方法中访问一个变量,采用的是就近原则。
1.子类局部范围找
2.子类成员范围找
3.父类成员范围找
4.如果都没有就报错(不考虑父亲的父亲…)

3.super

this&super关键字:
this:代表本类对象的引用

super:代表父类存储空间的标识(可以理解为父类对象引用)
this和super的使用分别
成员变量:
this.成员变量-访问本类成员变量
super.成员变量-访问父类成员变量
成员方法:
this.成员方法-访问本类成员方法
super.成员方法-访问父类成员方法
构造方法:
this(…)-访问本类构造方法
super(…)-访问父类构造方法

二、方法重写

1.方法重写概念

子类出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样)

2.方法重写的应用场景

当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了
父类的功能,又定义了子类特有的内容

3.@Override注解

用来检测当前的方法,是否是重写的方法,起到【校验】的作用

public class Fu{
    
    
   private void how(){
    
    
        System.out.println("Fu中how()方法被调用");
   }
void method(){
    
    
     System.out.println("Fu中method()方法被调用");
   }
}
public class Zi extends Fu{
    
    
/*编译【出错】,子类不能重写父类私有的方法*/
   @Override
   private void show(){
    
    
      System.out.println("Zi中how()方法被调用");
   }
/*编译【出错】,子类重写父类方法的时候,访问权限需要大于等于父类*/
   @Override
   private void method(){
    
    
        System.out.println("Zi中method()方法被调用");
   }
/*编译【通过】,子类重写父类方法的时候,访问权限需要大于等于父类*/
   @Override
   public void method(){
    
    
      System.out.println("Zi中method()方法被调用");
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_54405545/article/details/115356605