Java面向对象_4
一.instance of关键字:
判定一个对象是否由某个类(也包括接口)实例化出来,或者为该类的子类
二.final关键字:
最终的
修饰的变量,不能够在本类和类外面进行二次修改
不同作用域的局部变量之间没有关系
两种思路:1.设置为私有属性但不提供公共方法给外界访问
2.设置为常量
注意的几点:
1.修饰的属性,不能够在本类和类外面进行二次修改,因为是常量。
2.常量没有默认值,声明的时候要初始化(对比成员变量)
3.常量名字要大写,单词之间由下划线分割
4.可以修饰属性,方法,以及类。修饰类的时候不讷讷个被子类继承,修饰方法的时候该方法不能被重写。
三.接口(interface):
接口的组成
1.抽象方法,不能够存在普通方法
2.不能有变量,只能是常量
3.接口不能有构造函数
抽象类与接口的区别:
①.抽象类是一种特殊的类,接口是一种特殊的抽象类。
②.都不能直接实例化
③.抽象类之间是继承关系,接口之间也是。类与接口之间是实现的关系
注意的小点:
public interface Usb{
int i=10; //常量 默认会有public static final
// public static final int =10;
void useUsb();// 抽象方法,默认会添加 public abstract
//如果写成 public void method(){} ------->错误
四.抽象类和抽象方法:
抽象类概念
当一个类里面有某个行为(方法),子类中该方法具体的实现方式不明确的时候,但不明确需求该方法要重写的,就需要该类对这个方法进行模板提示,所需具体实现方式交给子类去实现。
抽象类的组成:
普通属性
构造函数
普通方法
1.有抽象方法的类是抽象类
抽象类里面可以有普通方法和抽象方法
2.非抽象子类必须全部实现父类的抽象方法
3.如果子类没有全部实现父类的抽象,该类还是抽象类
4.抽象类不能够直接实例化对象
结论:抽象类就是一个特殊的类
1.抽象类之间可以继承抽象类
2.非抽象类继承抽象类必须把其的抽象方法都实现
抽象方法
没有方法体,同时关键字为abstract //模板
不能和abstract一起使用的修饰符
①.static
②.final
③.private