查看: 117|回复: 0

Java基础之三、类的特性和接口

[复制链接]
发表于 2020-2-18 10:29:08 | 显示全部楼层 |阅读模式
类的派生、多态、抽象类、接口
1:派生-extends
  派生就是继承已有类非私有的字段和方法等创建新的类,还可以添加、重写字段和方法;
  在类的派生中,构造函数不可以被继承;
  派生源的类-父类/基类/超类;派生的类-子类/派生类;

2:super(…)调用超类的构造函数,在子类构造函数的开头;
  super(…)和this(…)不能同时存在构造函数中,因为都必须在开始调用;
3:子类的构造函数中如果无表现调用超类构造函数,则会自动调用超类中的“不吸收参数的构造函数”;
  X(……){super();}
4:在类中最好显性编写“不吸收参数的构造函数”;
  虽然类会默认一个不吸收参数的构造函数,但一旦定义带参数的构造函数,就不会默认,需要手工创建;
  避免子类未定义构造函数出错--第3点
5:超类和子类

6:超类和子类的实例引用
 向上引用仅会实行子类继承父类的 功能或重写 部分,向上引用无法调用子类独有的功能;
 如下图2部分

7:多态-派生类的价值
  重写(override)-重写定义一个与超类中的方法签名一样的方法。让超类方法无效。如果要调用使用supper.方法名表现调用
  引用类型转型
  向上转型-超类类型的变量引用子类实例
  

  向下转型-表现进行类型转型,比较常用的是对Object向下转型(类型)object;
  

8:注解[email protected]编译器可以读懂的注释)
  告知步伐重写超类的方法,而不是重写添加新的方法,避免出错
  格式:@Override 方法名称
9:继承和访问权限
  成员(字段、方法、类、接口)可以被继承,私有成员、实例初始化器、静态初始化器、构造函数不会被继承;
  final类不能派生,final方法不能被重写;
  当重写方法时,必须赋给与超类中方法相同或小于的访问权限修饰符
  不可以将超类的类方法重写为实例方法
  


10:修饰符顺序


11:抽象类
  无法创建或者不应该创建实例;
  无法定义方法的主体。其内容应该在子类实现;   

12:抽象类和方法定义
  abstract 类名{};
  abstract 方法名();;



13:抽象类中可以包含非抽象方法(抽象类的超类也是Object,Object类中有非抽象方法比方toString),但包含抽象方法的类一定是抽象类;
  子类继承抽象类,要么实现抽象类全部方法,要么子类也是抽象类;
  抽象类的非抽象方法重写为抽象方法比如toString方法
  

14:文档注释和javaDoc-这部分网上搜刮即可

15:接口-接口是引用类型的一种
  接口声明:interface
  接口所有方法都是public且abstract
  



  接口实现:implements,接口实现的方法必须是public修饰符;接口类型的变量可以引用实现类的实例
  接口实现类必须实现接口所有的方法,否则实现类定义为抽象类;
  接口可以持有常量---public\static\final字段,即为不可更改的数值的类变量
  


  接口本身的访问修饰符与类相同-可以加public修饰符
  当类声明同时存在extends 和 implements一定要先写extends,一个类可以实现多个接口
  接口也可以进行派生新的接口
  


  
  
  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?用户注册

x

相关技术服务需求,请联系管理员和客服QQ:2753533861或QQ:619920289
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

帖子推荐:
客服咨询

QQ:2753533861

服务时间 9:00-22:00

快速回复 返回顶部 返回列表