Java编程的继承机制

本文介绍了Java语言中的继承机制,包括其作为面向对象三大特征之一的作用、单继承特性、继承的术语解释以及如何实现代码复用。通过示例展示了类的继承关系,并指出即使没有显式继承,Java类也会默认继承Object类。同时,文章指出子类无法继承父类的私有成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发工具与关键技术:eclipse  java
作者:黄济民
撰写时间:2021.6.20

package com.hjm.javase.inherit;

/**

  • 关于java语言当中的继承:
  • 1.继承是面向对象的三大特征之一,三大特征分别是:封装、继承、多态
  • 2.继承“基本”的作用是:代码复用。但是继承最“重要”的作用是:有了继承才有了以后“方法的覆盖”和“多态机制”。
  • 3.继承语法格式:
  •      [修饰符列表] class 类名 extends 父类名{
    
  •                 类体 = 属性 + 方法
    
  •      }
    
  • 4.java语言当中的继承只支持单继承,一个类不能同时继承很多类,只能继承一个类。在C++中支持多继承。
  • 5.关于继承中的一些术语:
  •    B类继承A类,其中:
    
  •        A类称为:子类、基类、超类、superclass
    
  •        B类称为:子类、派生类、subclass
    
  • 6.java语言当中子类继承父类都继承哪些数据呢?
  •     - 私有的不支持继承
    
  •     - 构造方法不支持继承
    
  •     - 其他数据都可以被继承
    
  • 7.虽然java语言当中只支持单继承,但是一个类也可以间接继承其他类,例如:
  •     C extend B{
    
  •     }
    
  •     B extend A{
    
  •     }
    
  •     A extend T{
    
  •     }
    
  •     C直接继承B类,但是C类间接继承T A B类
    
  • 8.java语言中假设一个类没有显示的继承任何类,该类默认继承javaSE库当中提供的java.lang.Object类。
  •  java语言中任何一个类中都有object类的特征
    
  • 9.子类继承父类不能继承私有的类,继承不了
    */

//测试类
public class ExtendsTest {

//Eclipse快捷键:查找类型【Open Type】--> ctrl + shift + t
//Eclipse快捷键:查找资源【Open Resource】--> ctrl + shift + r

public static void main(String[] args) {
	ExtendsTest et = new ExtendsTest();
	//这里编译通过了,这说明可以调用toString方法,ExtendsTest类中有toString方法,从object类中继承过来的
	String s = et.toString();
	System.out.println(s); //com.hjm.javase.inherit.ExtendsTest@15db9742
	
	
	CrediAccount act = new CrediAccount();
	
	//修改用set
	act.setActno("act-001");
	act.setBalance(-1000.0);
	act.setCredit(0.99);
	
	//读取用get 
	System.out.println(act.getActno() + "," + act.getBalance() + "," + act.getCredit());
}

}

package com.hjm.javase.inherit;

public class ExtendsTest2 {

public static void main(String[] args) {
	C c = new C();
	c.doSome();//这里调用的doSome方法是从B类中继承过来的doSome方法。
}

}

class A{
public void doSome(){
System.out.println(“do Some!”);
}
}

class B extends A{
public void doSome(){
System.out.println("—do Some!----");
}
}

class C extends B{

}

下面是演示的例子:
package com.hjm.javase.inherit;

//账户类
public class Account {
// 账号
private String actno;

// 余额
private double balance;

// 无参的构造方法
public Account() {

}

// 有参数的构造方法
public Account(String actno, double balance) {
	super();
	this.actno = actno;
	this.balance = balance;
}
// get
public String getActno() {
	return actno;
}

// set
public void setActno(String actno) {
	this.actno = actno;
}

// get
public double getBalance() {
	return balance;
}

// set
public void setBalance(double balance) {
	this.balance = balance;
}

}

package com.hjm.javase.inherit;

//信用账号类 继承Account类
public class CrediAccount extends Account{
//信用度
private double credit;

//无参构造器
public CrediAccount() {

}

//get
public double getCredit() {
	return credit;
}

//set
public void setCredit(double credit) {
	this.credit = credit;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值