【super】 【this】【抽象类】【接口】【三大特征-多态】【引用类型的转换】

super和this的含义

super:代表父类的存储空间标识(可以理解为父类的引用)

this:代表当前的引用(谁调用就是谁)

super和this的用法

super

1.访问父类的成员变量

super.成员变量;

super.成员方法();

2.访问父类的构造方法

super(....) 父类的构造方法

3.继承关系中,父类的构造方法的访问特点:

子类构造方法当中有一个默认的隐式的super()调用,所以一定是先调用父类的构造,后执行的子类构造

子类构造可以通过super关键字来调用的重载构造

总结:子类必须调用父类的构造方法,不写则争讼super();写了则用写的指定的super调用,super只能有一个,还必须是第一个。

this

1.访问当前的成员

this.成员变量;
this.成员方法;

2.访问当前类的构造方法

this(...)当前类的构造方法

this()构造方法在调用是不能形成闭合

this(...)在调用时也必须是构造方法的第一句,唯一一个

super(....)和this(....)两种构造方法调用时,不能同时使用

抽象类

继承的特点

1.java语言只支持单继承,不支持多继承

2.java语言只支持多级继承(继承体系)

3.顶层父类是Object类,所有的默认都继承Object类

4.子类和父类是一种相对的概念(object除外)

抽象类

抽象的概述

父类当中的方法,被他的子类们重写,子类的各自实现又不一样。那么父类的方法声明和方法,只有声明还有意义,而方法体内容则没有存在的意义。我们把这种没有方法体内容的方法称为抽象方法。java语言规定,如果一个类包含了抽象的方法,那么该类必须是一个抽象类。

定义

抽象方法:没有方法体的方法

抽象类:包含抽象方法的类

abstract关键字的使用格式

抽象方法

使用abstract关键字修饰成员方法,该方法就称为抽象方法,抽象方法只包含一个方法名,而没有方法体。

定义格式

修饰符 abstract 返回值类型 方法名(参数列表);  

示例代码:

public abstract  void run();
    //吃饭的抽象方法
public abstract  void eat();
    //动物跳跃抽象方法
public abstract  void jum(); 

抽象类 ​​​​​​​

如果一个类包含了抽象方法,那么该类就是一个抽象类。

定义格式:

修饰符 abstract class ClassName{ 
}

示例代码:

public abstract class Animal{
    //奔跑的抽象方法
    public abstract void run();
}

抽象类的使用

继承抽象类的子类必须重写父类所有的抽象方法。否则,该子类也必须声明为一个抽象类。

注意事项:

关于抽象类的使用,需要注意的事项:

1.抽象类不能创建对象,如果创建对象,编译无法通过。只能创建其非抽象类的对象

2.抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。

3.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类

4.抽象类的子类,必须重写父类中的所有的抽象方法,否则编译无法通过,除非该子类也是抽象类。

  抽象方法就是在方法上面添加abstract关键字,去掉括号,添加分号
  抽象类:抽象类所在的类,必须是一个抽象类,只需要在class前面添加abstract即可
 如何使用抽象方法:
 1.不能直接创建new抽象类对象
 2.必须用一个子类来继承抽象父类
 3.子类必须重写父类当中的所有的抽象方法
 4.重写实现:子类重写父类当中抽象方法,去掉抽象方法当中的abstract关键字,然后添加
  5.创建子类对象进行使用
  6.方法重写,是子类对父类的抽象方法的完全实现,我们将这种方法重写操作 ,也叫做【实现方法】
 @Override //重写在jdk1.5之后出现的
inherited:继承

相关文章:

猜你喜欢
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案