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);

}

}

Java——面向对象的特征二:继承性的更多相关文章

  1. Java面向对象 IO (二)

     Java面向对象  IO   (二) 知识概要:               (1)字节流概述 (2)字节流复制图片 (3)IO流(读取键盘录入) (4)读取转换流,写入转换流 字节流概述   ...

  2. 【重走Android之路】【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

    [重走Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder   1.String String是Java中的一个final ...

  3. Java面向对象的特征

    面向对象的特征 封装.继承.多态.(有人问第四个特征,再加抽象) 封装 体现形式(2种) 函数---提高代码的复用性 属性的私有化---将属性设置为私有的,通过提供对外的访问方法来间接操作对应属性,可 ...

  4. Java——面向对象的特征三:多态性

    2.5面向对象的特征三:多态性 2.5.1 关于java语言中的向上转型和向下转型 ①向上转型(upcasting) :  子--->父(自动类型转换) ②向下转型(downcasting) : ...

  5. Java面向对象的特征一:封装性

    1.4 面向对象的特征一:封装性 当创建了类的对象以后,如果直接通过"对象.属性"的方式对相应的对象属性赋值的话,可能会出现不满足实际情况的意外,我们考虑不让对象来直接作用属性,而 ...

  6. java 面向对象(十四):面向对象的特征二:继承性 (三) 关键字:super以及子类对象实例化全过程

    关键字:super 1.super 关键字可以理解为:父类的2.可以用来调用的结构:属性.方法.构造器3.super调用属性.方法:3.1 我们可以在子类的方法或构造器中.通过使用"supe ...

  7. java 面向对象(十二):面向对象的特征二:继承性 (一) 前言

    1.为什么要有类的继承性?(继承性的好处) * ① 减少了代码的冗余,提高了代码的复用性 * ② 便于功能的扩展 * ③ 为之后多态性的使用,提供了前提图示: 2.继承性的格式:class A ext ...

  8. java 面向对象(十三):面向对象的特征二:继承性 (二) 方法的重写

    1.什么是方法的重写(override 或 overwrite)?子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作. 2. 应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中的同 ...

  9. Java面向对象编程(二)

    关键字 -- this 一.this关键字的使用: 1.this可以用来修饰.调用:属性.方法.构造器. 2.this修饰属性和方法: this理解为:当前对象 或 当前正在创建的对象. 2.1 在类 ...

随机推荐

  1. 几种任务调度的 Java 实现方法与比较(定时任务)(转)

    转自:http://blog.csdn.net/javafay/article/details/8031269 综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 ...

  2. eclipse发布路径变更

    但是其默认访问的目录是eclipse临时目录而非Tomcat目录, 建议双击tomcat進入配制界面Service Locations 修改选项为:Use Tomcat installation(ta ...

  3. 重新创建redis集群的注意事项

    一.重新创建redis集群的注意事项 1.将每个节点下aof.rdb.nodes.conf本地备份文件删除: 2.127.0.0.1:7001> flushdb #清空当前数据库(这一步可以省略 ...

  4. Qt 【关于控件样式,鼠标进入、离开、点击】

    比如举以下这个例子: QPushButton * okBtn; okBtn->setstylesheet("QPushButton{border-image:url(:/image/h ...

  5. Java中几种排序算法

    1.冒泡排序算法 通过多次比较(相邻两个数)和交换来实现排序 public class bubble { public static void bubbleSort(int[] a) { int te ...

  6. JavaScript常见设计模式梳理

    单例模式 单例模式,顾名思义就是保证每个类都只有一个实例对象. 其实现思路很简单,先判断实例是否存在,如果不存在则创建新的实例返回,如果存在则直接返回该实例. 策略模式 策略模式可以理解为:封装多个可 ...

  7. magento 为用户注册增加一个字段

    步骤 I. 加一个occupation/title字段到用户注册页,差不多在register.html的54行,在email下方加一个Occupation显示代码 代码: <li>< ...

  8. Tyvj 1518 CPU监控(线段树)

    题目描述: Bob需要一个程序来监视CPU使用率.这是一个很繁琐的过程,为了让问题更加简单,Bob会慢慢列出今天会在用计算机时做什么事. Bob会干很多事,除了跑暴力程序看视频之外,还会做出去玩玩和用 ...

  9. 【LeetCode 26】删除排序数组中的重复项

    题目链接 [题解] 沙比提 [代码] class Solution { public: int removeDuplicates(vector<int>& nums) { if ( ...

  10. 单调栈+线段树——cf1220F

     首先考虑初始排列,pi会让周围所有比其大的元素深度+1,所以要求每个点的深度,只要其被覆盖了几次即可 这个覆盖可以通过处理每个元素的左右边界(单调栈O(n))+线段树区间更新(Ologn(n))来做 ...