方法的分类
普通方法:public返回类型方法名(){}
构造方法:public类名(){}
抽象方法:pubic abstract返回类型方法名();
注意:
抽象方法是没有方法体的方法,即没有执行过程的方法
该方法不能被调用执行
类的分类
-
类分为三种:普通类,抽象类,接口
-
区别:
普通类:
-
public class 类名{}
-
可以定义常量,变量属性
-
可以定义普通方法和构造方法,一定不能定义抽象方法
-
可以被创建对象
抽象类:
-
public abstract class 类名{}
-
可以定义常量,变量属性
-
可以定义普通方法和构造方法,也可以定义抽象方法(有抽象方法的一定是抽象类或接口,抽象类不一定有抽象方法)
-
不可以被创建对象
接口:
-
public interface 类名(接口名){}
-
只能定义常量:static final类型 属性名;(当属性被赋值时static final在接口中可被省略定义。例如:int a = 10;(合法);int a;(非法))
-
只能定义抽象方法:public abstract返回类型方法名();( abstract在接口中定义时可被省略)
-
同样不可被创建对象
备注:属性分为常量和变量
-
常量:存储的值不能被修改 格式:static final类型属性名
-
变量:存储的值可被修改 格式:类型属性名
-
作用?提出问题:抽象类和接口都不允许被创建对象,那有什么作用?
-
当作父类使用
-
用于约束子类方法的定义
换种理解
接口:相当于终极领导,只需发令施号,无需做具体工作
抽象类:相当于,中级领导,可以做具体工作,也可以不做
普通类:最低层员工,只能干活
-
普通类、抽象类、接口三者之间的继承
-
普通类和普通类、普通类和抽象类、抽象类和抽象类:extends
-
普通类和接口、抽象类和接口、接口和接口:implements
-
普通类继承抽象类或接口:一定要把父类中的抽象方法重写一遍
注意:接口的继承是多继承的,一个自称可用多个父类接口
即可理解为:普通类或抽象类当父类相当于亲爹,接口当父类相当于义父
一个儿子可以只能有一个亲爹,但可以有多个义父
格式:
Public class子类类名 extends普通类或抽象类类名 implements接口名1,接口名2,…,接口名n{}
例如:
publicclass Child extends A implements B,C{
public void study(){}
public void play(){}
}
注意:一定要先有亲爹才能有义父,即先extends再implements