09-类的继承
类的继承
继承是面向对象三大特性之一,继承了父类的子类可以使用父类的所有功能,并且在无需重新编写原来类的情况下对这些功能进行扩展。
拓展:
1、类和类之间只能单继承,不能继承多个类;
2、一个非抽象类只能继承一个抽象类;
3、一个抽象类也只能继承一个抽象类;
4、一个类可以实现多个接口;
5、一个接口可以继承多个接口;
package i类的继承;
public class SuperClass {//父类
public void m1(){
System.out.println("m1...");
}
public void m2(){
System.out.println("m2...");
}
}
/*
* 引入类继承最基本的作用是 代码重用
* 就是子类继承父类,子类中包括了父类的方法
*
* 语法:
* [修饰符列表] class 子类名 extends 父类名{
* 类体;
* }
* java语言中,类和类之间只支持单继承
*
* 一个类如果没有显示继承其他类,则该类默认继承Object类
* Object是sun提供的
*/
package i类的继承;
public class Sub extends SuperClass {
public void m3(){
System.out.println("m3...");
}
}
package i类的继承;
public class Test {
public static void main(String[] args){
Sub n = new Sub();
n.m1();//m1...
n.m2();//m2...
n.m3();//m3...
}
}
/*
* 账户类
* 也称
* 父类、超类、基类、SuperClass类
*/
package i类的继承;
public class Account00 {
//账户
private String actno;
//余额
double balance;
//Constructor
Account00(){}
Account00(String actno,double balance){
this.actno=actno;
this.balance=balance;
}
//setter and getter
public void set(String actno){
this.actno=actno;
}
public String get(){
return actno;
}
}
/*
* 信用账户
* 子类、派生类、SubClass
* java语言中子类继承父类,会将父类所有数据都继承,包括私有的
* 但是在子类中无法直接访问父类中的私有数据。但是可间接访问
*
* 注意:构造方法无法被继承
*/
package i类的继承;
public class DebitAccount00 extends Account00 {
//信誉度
double debit;
}
package i类的继承;
public class Test00 {
public static void main(String[] args){
//创建信用卡对象
DebitAccount00 da = new DebitAccount00();
//给信用卡账号赋值
da.set("456988945445466556");//赋值
System.out.println(da.get());//读取
//不能直接访问actno
//System.out.println(da.actno);
}
}