一 继承:
在java中,在现有的类中新建一个类叫子类,现有的类叫父类,子类自动拥有父类所有可继承的属性和方法。关键字 extends Java 只支持单继承
格式:
class 子类 extends 父类 { }
packagecom.oracle.Demo01;//这是一个父类
public classDeveloper {
String name;public voidspeak(){
System.out.println(name+"父类正在工作");
}
}-------------------------------------------------------
packagecom.oracle.Demo01;//子类
public class JavaEE extendsDeveloper{public voidprint(){
System.out.println(name+"子类在写JavaEE代码");
}
}---------------------------------------------------------
packagecom.oracle.Demo01;//新建Android类
public class Andriod extendsDeveloper{publicAndriod() {
System.out.println("这是安卓里面添加的内容 ");
}
}---------------------------------------------------------
packagecom.oracle.Demo01;//测试类
public classDemo01 {public static voidmain(String[] args) {
JavaEE java=newJavaEE();
java.name="钢铁侠";
java.speak();
java.print();
Andriod an=newAndriod();
an.name="小辣椒";
an.speak();
}
}
继承的好处和注意事项
好处:1.提高代码复用性 2.产生关系1.java里,类只支持单继承
class A{}
class B{}
class C extends A,B{} // C类不可以同时继承A类和B类
2.多个类可继承一个父类一个父亲多个儿子
class A{}
class B extends A{}
class C extends A{} // 类B和类C都可以继承类A
3.多层继承:爷孙关系
class A{}
class B extends A{} // 类B继承类A,类B是类A的子类
class C extends B{} // 类C继承类B,类C是类B的子类,同时也是类A的子类
packagecom.oracle.Demo02;//父类
public classFu {int a=1;public voidshow(){
System.out.println("这是父类的方法");
}
}----------------------------------------------------------------
packagecom.oracle.Demo02;//子类
public class Zi extendsFu{int a=2;public voidget(){int a=3;
System.out.println(a);//3 就近原则
System.out.println(this.a);//2 用this就等于本类了//super:父类对象//注意:this 和super 只能在子类里面使用
System.out.println(super.a);
}public voidshow2(){
System.out.println("这是子类的方法");
}
}--------------------------------------------------------------------
packagecom.oracle.Demo02;//测试类
public classDemo01 {public static voidmain(String[] args) {//继承中子父类有同名变量时,如果子类自己有,用自己的,如果子类没有,用父类的
Zi zi=newZi();
System.out.println(zi.a);
zi.show();//调用子类的show方法 ,子类里面没有show,子继承了父的show,测试打印子里的show就等于是调用了父类的show
zi.show2();//调用子类的show2方法
}
}
方法重写: