Java——面向对象的特征二:继承性

2.1面向对象的特征二:继承性

引入类继承最基本的作用是:代码重用。

 

 

②语法

              [修饰符列表] class 子类名 extends 父类名{

                     类体;

              }

③子类继承父类以后,父类中声明的属性、方法,子类就可以获取到。

明确:当父类中有私有的属性或方法时,子类同样可以获取得到,只是由于封装性的设计,使得子类不可以直接调用罢了,但是可以间接访问。子类除了通过继承,获取父类的结构之外,还可以定义自己的特有的成分。构造方法无法被子类继承。

extends子类是对父类功能的“扩展”,明确子类不是父类的子集。

④java中类的继承性只支持单继承

一个类只能继承一个父类。反之,一个父类可以有多个子类。一个类如果没有显示的继承其他类,则该类默认继承Object,Object是SUN提供的java中的根类。

⑤子父类是相对的概念

Customer没有显示继承其他类,默认继承SUN提供的java.lang.Object;所有Customer类中也有toString方法.

public class Customer{

       public static void main(String[] args){

              Customer c = new Customer();

              String s = c.toString();

              System.out.println(s); //Customer@de6ced

       }

}

 

 

例子

/*

       账户类

              父类(超类,基类,superclass)

*/

public class Account{

       //账号

       private String actno;

       //余额

       double balance;

       //Constructor

       Account(){}

       Account(String actno,double balance){

              this.actno = actno;

              this.balance = balance;

       }

       //setter and getter

       public void setActno(String actno){

              this.actno = actno;

       }

       public String getActno(){

              return actno;

       }

}

/*

       信用账户

              子类(派生类,subclass)  

*/

public class DebitAccount extends Account{

       //信誉度

       double debit;

}

public class Test03{

       public static void main(String[] args){

              //创建信用卡对象

              DebitAccount da = new DebitAccount();

              //给信用卡账号赋值

              da.setActno("001"); //赋值

              //可以间接访问.

              System.out.println(da.getActno()); //读取

              //没有办法直接访问

              //System.out.println(da.actno);

       }

}

posted @   阿江是个程序猿  阅读(256)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示