zoukankan      html  css  js  c++  java
  • 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);

           }

    }

  • 相关阅读:
    求字符串长度
    n人围圈报数,报3出圈
    设计模式-桥梁模式(11)
    ajax
    数组右移
    数组元素交换
    倒序输出(指针方法)
    myeclipse6.5使用tomcat7报java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory错
    设计模式-组合模式(10)
    刷评论脚本
  • 原文地址:https://www.cnblogs.com/superjishere/p/11809946.html
Copyright © 2011-2022 走看看