面向对象:
缩写oop,一种编程理念,提高开发速度和代码重用率。
1、类和对象:以人为类,则其特点为类的属性,具体的某个人为对象,即类对象。
类:对象的抽象。
对象:类的具体实例。
2、Java三大特性:封装、继承、多态
1、封装:一种编程思想,把重复性的代码封装,提高代码重用率。
2、继承:一个子类只有一个父类(也称超类),一个父类拥有多个子类。(单继承)
2.1、继承的特点:①、子类的类对象在调用前,会先调用父类的构造方法。②、子类可以重写覆盖父类的方法。③、可以声明父类,创建子类,这样,声明的引用将可以调用子类中的方法。(即是多态的实现)
3、多态:重载、重写的使用是多态的表现形式其中一部分。父类的引用指向子类的对象。例:Person p=new Son();
3、重载和重写的区别:
重载:应用于构造函数,其中:①、构造方法名相同。②、参数类型不同。③、参数列表不同。
ps: this关键字:
①、thsi(构造方法参数列表) 。作为所在类对象的引用,调用构造方法(注意:构造方法间不能使用this关键字相互调用,单方向调用是可以的),需放置在构造方法的第一行,有且只有一个。
②、this.name=name。作为类属性和参数列表的区分。
重写:应用于继承关系和实现接口。其中:①、方法声明必须一致。②、仅有方法体不一致。
ps: supper关键字:
①、super(构造方法参数列表)。子类构造方法调用父类构造方法。同this(),一个构造函数内只能出现一个supper()。
②、super.method()。调用父类的方法。
3、abstract(抽象类)类和interface(接口)的相同点和区别:
相同点:
①、都没有方法体。
②、都没有自己的类对象。
③、interface接口的实现类 / abstract类的子类 要么重写其抽象方法,要么也被abstract修饰。
不同点:
①、abstract类只有一个子类,interface接口可以有多个实现类。
②、interface接口在jdk1.8之后,可以有default修饰的方法,且该方法有方法体。
③、interface接口中的变量总被public static final修饰。
4、final关键字:
①、修饰成员变量:必须为成员变量初始化赋值,且赋值后不可更改。
②、修饰局部变量:不必为其初始化赋值,但一旦赋值,其值不可更改。
③、修饰方法:该方法不可被重写。
④、修饰类:该类不可被继承。
5、static关键字:
①、修饰成员变量:类中的共享变量,一处修改,处处受影响。
②、修饰成员方法:称为静态方法,方法中不能调用非静态成员方法和成员变量,非静态成员方法可以调用静态成员方法。
③、修饰代码块:称为静态代码块,随着类的加载而加载,且只执行一次,可放置于除方法体中任何位置,同一个类中多个静态代码块按顺序执行。