面向对象:继承、多态、接口

同一文件夹下的两个java文件,可以相互调用静态的方法,即通过static声明的方法,而非静态的方法需要调用时,则需要实例化。实例化的方式为:
对象类型+对象名=对象值。 Student student=new Student()

为了封装后,不被随意调用,所以通常static的静态方法应用较少。通常项目内只有一个main方法作为项目的启动器,为了保障启动器的代码量不过分冗余,通常将其他方法,对象,类等在项目的其他文件中编写,main方法按照程序的逻辑关系,一一调用方法即可。
面向对象:继承、多态、接口
构造器的使用
快捷键:alt+insert,可选择参数。若存在有参构造,则必须存在无参构造,属于重载的结构,让程序根据main方法new过程中是否传入参数自行判断。且构造器无返回值,与当前类名相同

**封装:**通常时将一些属性私有化,并设置一些限制。
面向对象:继承、多态、接口
继承:子类继承父类,将拥有父类的全部方法。继承通常为public的方法,java在所有的类,都默认继承了object类。快捷键
面向对象:继承、多态、接口
**重写(override):**需要有继承关系,子类重写父类的方法。
1.方法名与参数列表必须相同。
2.修饰符范围可以扩大但不能缩小。public>protected>default>private
3.抛出的异常:可以缩写,不可以放大。

**重写:**子类中含有与父类方法名相同的方法,但父类的方法子类不一定需要,所以需要重写,方法名相同,方法所执行操作不同。

**多态:**同一方法,由于发生对象的不同(左面)所采用不同的行为方式。主要目的就是方便方法的调用,使程序简洁。

1.方法的多态,与属性无关
2.存在条件:必须时继承关系,方法需要重写,父类引用子类对象。如:dad test1=new son();

以下情况无法重写:
1.static所声明的静态方法
2.private的私人方法
3.final所定义的常量
面向对象:继承、多态、接口
输出为子类输出设定,子类中重写了父类。

抽象类的所有方法必须由子类实现,且不能new出来。只能继承。抽象方法必须在抽象类中。是一种约束

接口:************************************重点

本质上是一种约束条件,例如我在游戏开发中,将人物定义一个接口,人物可具有武器属性来完成攻击,具有消化属性来完成恢复生命。而不同的开发人,对人物可能有不同的操作。A想开发一个拳击手,武器操作为挥拳,消化属性为吃东西。B想开发一个神话人物,武器操作为意念,消化属性为冥想。
**“即不同的人,调用相同的接口,完成不一样的操作,但总体上接口对操作进行了一定的约束,攻击,消化”**下图为接口的创建,以及内含方法

面向对象:继承、多态、接口

面向对象:继承、多态、接口
接口的引用关键字为implements+多个接口
引用接口后,在generate中可直接添加重写的方法。
命名方式后缀需要加 Impl