JAVA基本语法注意事项(3)
面向对象编程中注意事项
面向对象
- 面向对象(Object-Oriented Programming,OOP)编程的本质是:以类的方式组织代码,以对象的组织(封装)数据。
- 三大特性:封装、继承、多态
构造器
- 一个类即使什么也不写,它也会存在一个构造方法。
public ClassName(){
}
-
构造方法的核心作用
①使用new关键字,本质是在调用构造器。
②用来初始化值。
-
有参构造:
public ClassName(int a){
}
注意事项:
一旦定义了有参构造,无参构造就必须显示的定义。
-
构造方法的特点
①构造方法的名称与类名相同。
②没有返回值。
封装
-
**高内聚,低耦合。**高内聚就是类的内部数据操作细节自己完成,不允许外部干预;低耦合,仅暴露少量的方法给供外部调用。
-
属性私有get/set
private int age; public int getAge(){ return age; } public void setAge(int age){ this.age = age; }
-
意义:
①提高程序的安全性,保护数据。
②隐藏代码的实现细节。
③统一接口。
④系统的可维护性增加。
继承
-
JAVA中类只有单继承,没有多继承。
-
私有的无法被继承。
-
super关键字
注意点:
①super调用父类的构造方法,且在子类构造器的第一行。
②super必须只能出现在子类的方法或者构造方法中。
③super和this不能同时调用构造方法。
与this关键字的区别:
①代表的对象不同,this:本身调用者这个对象。super:代表父类对象的引用。
②前提,this:没有继承也可以使用。super:只能在继承条件中才可以使用。
③调用的构造方法,this:本类的构造。super:父类的构造。
-
方法的重写
①前提:需要有继承关系,子类重写父类的方法。
②参数列表必须相同。
③修饰符,重写后范围可扩大不可以缩小。
④抛出的异常,重写后范围可以缩小不可以扩大。
⑤意义,父类的方法子类不一定需要。
⑥不可以进行重写的修饰符,static,final,private。
多态
-
多态是方法的多态,属性并没有多态。
-
存在条件:
①有继承关系。
②方法需要被重写。
-
instanceof关键字(判断两个类之间是否存在继承关系)
Father father = new Father();
System.out.println(father instanceof Son);//true
static关键字
- static修饰的方法同类一同加载。
- static修饰的方法只执行一次。
- static代码块可以用来赋初始值。
- 、可以静态导入包。
import static java.lang.Math.random;
抽象类(abstract)
-
抽象方法只有方法名,没有方法的实现。
-
抽象类的所有方法,它的子类必须实现它的所有方法。
-
特点:
①不能实例化,只能靠子类去实现它。
②抽象类中可以写普通方法。
③抽象方法必须在抽象类中。
-
主要作用:约束。
接口(interface)
- 接口的本质是契约,共同遵守的规范。
- 接口只有规范,自己无法写方法。
- 接口可以实现伪多继承。
- 接口中所有定义的都是抽象的。
- 接口不能被实例化,接口中没有构造方法。
- 类可以通过implement关键字实现接口。
- 实现了接口的类,就需要重写接口中的方法。