一、abstract关键字
1、概念
所有子类对父类的某个方法都进行了不同程度的重写,父类的这个方法的方法体没有实际含义了,就可以把方法体去掉,用abstract修饰就变成了抽象方法,如果一个类中出现了抽象方法,这个类就要变成抽象类。 抽象方法一定要被重写、如果一个普通类继承抽象类就要把所有的抽象方法都要进行重写,如果不想进行重写就可以把普通类变成抽象类
abstract是关键字 修饰符 ----方法、类
2、应用
1、如果类中出现抽象方法,类要变成抽象类
2、没有具体的方法体,只是提供了一个方法,让子类进行重写
3、抽象方法一定要被重写,可以重载
4、如果一个普通类继承抽象类就要重写所有的抽象方法
5、如果不想重写所有的抽象方法就可以把类变成抽象类
二、接口
1、概念
1、一个抽象类中所有的方法都是抽象方法就可以转成接口,用interface来表示
2、一个普通类可以通过implements让类与接口之间产生关联关系---实现
3、支持多实现---一个类可以实现多个接口
4、类实现了接口之后就要重写所有的抽象方法,如果不想重写抽象方法就可以把类变成抽象类
5、接口与接口之间是多继承---接口可以同时继承多个接口 接口不是类
6、接口类型可以接受所有类型的值的转换
三、内部类
1、概念:
类或者接口中再来一个类
-
方法内部类
-
概念:
1、在方法中定义一个类 2、可以定义非静态的属性、方法以及静态常量 3、可以继承与实现 4、不能被访问权限修饰符修饰可以被final以及abstract修饰 5、可以获取外部类的所有属性和方法 6、只能拿到本方法中的常量
-
实现
-
-
成员内部类
-
概念
1、在类内方法外定义一个类 2、可以定义非静态属性和方法以及静态变量 3、可以继承和实现 4、可以被访问权限修饰符修饰以及final和abstract 5、可以拿到外部类的所有属性和方法
-
-
静态内部类
-
概念
1、成员内部类加上static 2、可以定义任意信息 3、可以继承与实现 4、可以被访问权限修饰符修饰以及final和abstract 5、只能获取外部类的静态信息
-
-
匿名内部类
-
概念
1、{}---用于去继承类或者实现接口,重写方法 2、如果匿名内部类在方法内就按方法内部类使用 3、如果匿名内部类在成员位置就按成员内部类使用
-