java继承概念_java继承的相关概念
继承:
概念:一个类作为另一个类的子类存在,子类能够调用父类的属性和方法。
子类的定义:
【访问权限修饰符】【修饰符】子类名 extends 父类名{
}
方便代码的复用。
用法:
子类先调用父类的构造方法;
如果父类写明了默认的构造方法,子类一般先调用父类的默认构造方法;
如果子类要调用父类的有参数的构造方法,用super在子类的构造方法中调用父类的有参构造方法
例如:
//创建一个父类Father
public class Father {
int money = 100;
String name = “aaa”;
Father(){
System.out.println(“无参”);
}
Father(String name,int money){
this.money = money;
this.name = name;
System.out.println(“有参”);
}
void huaQian(int a ) {
money -= a;
System.out.println(“F”+money);
}
}
//创建一个Father的子类Son
public class Son extends Father{
int money = 10;
String name = “bb”;
Son(){
}
Son(String name){
super(“bbb”,1);
this.name = name;
System.out.println(super.name);
}
void eat(){
System.out.println(super.name);
}
void huaQian(int a ) {
super.huaQian(100);
money -= a;
System.out.println(money);
}
}
public static void main(String[] args) {
Son s = new Son(“cc”);
Father f = new Father();
//System.out.println(f.name);
s.eat();
s.huaQian(20);
}
注意:
一般的需要给父类和子类的属性进行初始化的赋值来保证父类的稳定性以及调用的稳定性;
调用父类的有参构造方法时,必须用super调用父类的有参构造方法并写入子类的构造方法中。
this与super以及final 关键词
this: 必须在非静态的方法中使用
一般用来代表本类的属性和方法
可以在构造方法中使用;在一个类的方法中也可以使用this来调用本类的其他方法;
super: 代表父类的属性或者方法的引用,只能写在子类构造方法的第一行。
父类的属性或者方法被子类覆盖时,用super.父类变量名/父类方法。
final:
修饰属性、局部变量,值不能被修改;
修饰类,不能被继承;
修饰方法,不能被子类覆盖;
覆盖:
定义:子类可以重写父类中某一个方法
原则:
同名
同参
同返回值
访问权限不能缩小
还没有评论,来说两句吧...