继承
继承使得代码的可复用性得到体现,很多类似的代码,实现相似功能的方法,甚至相同的代
码不再需要重复书写,java当中只支持单根继承,
被继承的类是父类,也就是extends关键字之后的类名
举个例子,狮子,老虎,大象都具有相同的属性名字,年龄,栖息地,相同的行为,进食,
睡觉,如果分别创建三个类,Tigger,Lion,Elephant,则它们的内部代码完全相同,这个时候就
可以使用继承,创建一个Animal类,具有这些动物共有的属性和行为,让狮子,老虎,大象来
使用extends关键字继承动物类,就可以使代码简洁很多
public class Animal{
String name;
int age;
String habitat;
void eat(){
System.out.println("进食");
}
void sleep(){
System.out.println("睡觉");
}
void run(){
System.out.println("奔跑");
}
}
public class Lion extends Animal{
void drink(){
super.age=200;
super.eat();
}
}
public class Tiger extends Animal{
}
public class Elephant extends Animal{
}
super关键字是子类用来调用父类的方法或者属性
当然继承还有许多更高级的用法,需要自己体验。
import和package
package表示将当前文件内容打包成一个包,而使用import的时候可以使用包名来使用包中
所含有的类,包的命名格式为域名倒置,一般为com.公司名.项目名.模块名.子模块名,如
com.lec.demo.bookservcie.impl
当要在一个类中使用上面包中的的方法时就可以使用import关键字+包名,或者使用全类名
(包名+类名)来使用其他类中的方法。
访问修饰符
public:所有的类都可以使用public修饰的内容
private:只有自己的类内部的成员能够访问
default(没有访问修饰符):能够被自己的类的成员访问,也能被同一个包中的类访问
protected:和defult一样,区别在于继承的类可以访问protected的内容,但要直接使用父类的方法
方法重写
只有子类在使用父类的方法时才会使用方法重写,没有继承关系不存在方法重写
在方法重写时,方法名称相同,参数特征完全相同,返回值相同
访问修饰符不能缩小(public>protected>default>private)
子类方法不能抛出比父类更大的异常