一,抽象类
抽象类语法:
[访问修饰符] abstract class 类名{
}
抽象方法语法:
[访问修饰符] abstract 返回值类型 方法名([参数]){
}
抽象类和普通类区别:
1,抽象类比普通了多了一个abstract修饰符
2,抽象类里既可以有抽象方法,又可以有普通方法。普通类只能有普通方法
3,抽象类拥有构造器,但不能创建对象。普通类是可以创建对象的
注意:
1,虽然抽象类不能创建对象,但可以声明对象
2,抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类
3,abstract 只能修饰类,方法
二,接口
接口:接口是一种能力,功能。他是比抽象类更加抽象的类
接口中只能有两样东西:1,常量 2,抽象方法
语法:[访问修饰符] interface 接口名{
}
★,只在接口中,常量可以省略 static final 修饰符,名字可以小写,访问修饰符必须 public。只在接口中,抽象方法可以省略 abstract 修饰符
注意:
1,不能实例化对象
2,可以声明对象
3,普通类实现接口时,必须重写接口方法。除非这个类是抽象类
类和接口直接关系:
只能用实现(implement),实现接口能力,功能
这个类成为实现类,相对于继承里子类,接口相对于继承里父类。
注意:
一个类在继承父类并同时继承接口时,必须先继承父类,再实现接口
一个类只能继承一个父类,但可以实现多个接口,接口间用“,”隔开
接口弥补了 java 中单继承的缺点。
★关系:
类和类之间 只能用继承 extends 一个类只能同时继承一个类
类和接口之间 只能用实现 implement 一个类可同时实现多个接口
接口和接口之间 只能用继承 extends 一个接口可同时继承多个接口
三,通过对象传值方式
1,通过参数形式传值
2,通过属性形式传值 把类当作数据类型,对象当做属性,变量