1.super关键字
用于调取父类的方法,而且只能用于继承。
1.可以调取父类的成员属性和成员方法。
2.可以调取构造方法。
3.如果父类是含参构造,那么此时因为父类中没有无参数构造方法,所以子类继承父类时会报错,这时就需要我们手动的调用父类的有参构造方法
4.如果父类是无参构造,那么子类的构造方法会默认隐式的在第一行先调用父类无参数构造方法,所以super()无需手动进行调用;
2.抽象类
2.1abstract关键字
格式
abstract class 类名{
public abstract void 方法名();
}
用法方法
1.abstract关键词修饰类时,就是抽象类
2.abstract可以修饰方法,称为抽象方法,其中也可以有普通方法
3.抽象方法没有方法体,不是完整的方法
4.抽象方法无法被实例化
5.需要建立一个普通类去继承抽象类,然后对普通类对象化
6.抽象类可以继承抽象类
7.抽象类可以继承非抽象类
8.在子类中要对所有的抽象方法进行重写
9.对于非抽象的可以重写也可以不重写
2.2final关键字
用法:
1.final可以修饰类,此时类无法被继承
2.final可以修饰成员变量,但是必须赋值,且这个值无法改变
3.final可以修饰局部变量,先可以不赋值,但是使用前必须赋值
4.final可以修饰成员方法,这个方法无法被重写
5.final可以修饰引用对象,此时引用对象值无法被修改。
2.3接口
关键词:interface
通过接口可以获得新的功能,具有增值功能。
并通过implements来实现
语法格式
interface 类名{
}
注意
1.通过interface声明一个接口类
2.接口类中可以有属性,但是是static和final修饰的,是常量
3.接口类中全是抽象方法
4.在jdk1.8中,可以使用default修饰方法,这是接口类中默认的成员方法
5.接口类没有构造方法,无法被实体化
6.使用一个普通的类去实现这个接口
7.要在实现类中实现所有的抽象类
8.接口类可以被接口类继承
9.接口类可以被抽象类实现
10.一个普通类可以实现多个接口类,弥补了继承的不足
package com.qfedu.b_test;
//电源接口
interface Adapter {
public void input();
}
//USB接口 连接鼠标
interface USB{
public void mouse();
}
interface Net{
public void internet();
}
class Computer implements Adapter, USB ,Net{
@Override
public void internet() {
// TODO Auto-generated method stub
System.out.println("网络");
}
@Override
public void mouse() {
// TODO Auto-generated method stub
System.out.println("鼠标");
}
@Override
public void input() {
// TODO Auto-generated method stub
System.out.println("输入");
}
}
public class Demo1 {
public static void main(String[] args) {
Computer computer = new Computer();
computer.input();
computer.internet();
computer.mouse();
}
}