总结:把一个类的属性看做另一个类的属性,或者通过一个方法的参数传一个那个类的参数(public void repair (Car car) throws InterruptedException { //取到轮胎的个数来判断是不是4个 if (car.getWheelCount() != 4) { System.out.println("修车中......."); Thread.sleep(5000);//代码走到这一步,等5秒再执行下面的代码 car.setWheelCount(4);//重新设置轮胎的个数为4 System.out.println("修理好了,你可以继续飙车,修理费40000"); } else { System.out.println("脑子瓦特了吧,车没有坏,修啥修!!!"); }
),通过那个类进行调用那个类的参数和方法。
注:作为属性的那个类需要在main函数赋值。或者本身就有值。
java继承1所谓继承就是一个类使用extends关键字去继承另一个类
语法格式:
class B extends A {
}
B就能使用A中的方法,但是使用A类方法时需要在B类{}内使用,不能在类下直接使用。
注:父类的私有成员属性和方法子类无法直接使用,可以通过get获取属性,通过父类方法调用父类私有方法
注:子类的无参和有参构造方法中都有一个super();且放在{}的首行,只是隐藏了,所以当创建子类对象时,会优先调用父类构造方法,然后再输出子类构造的system.out.println();中的语句,
注:当在子类中调用父类的有参构造,则创建子类对象时就不会再调用父类的无参构造。
java实现 接口格式:
interface A{
}
实现类格式:
class B implements A{
}
注意事项:
1.接口下面可以声明成员变量,但是默认是final和static修饰的
2.在接口下面的方法是抽象方法不带方法体的,但是有特例
3.这个特例是使用default修饰的一个方法可以带方法体 4.接口能被实例化吗?不能。但是想要使用这个接口的话,可以新建一个类,然后去实现(implements)这个接口即可
5.必须全部实现接口下面的抽象方法
6.一个类可以实现多个接口(相当于多继承)
7.一个抽象类能不能实现一个接口,可以的
8.一个接口可以继承(extends)另外一个接口
接口和抽象类的区别抽象类只能继承一个,而接口却能实现多个,抽象类中的方法可以不是抽象方法,可以有普通方法,而接口中只能由抽象方法和默认带有方法体的方法。