栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面向对象——继承

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面向对象——继承

关于Java语言当中的继承

1、继承是面向对象三大特征之一,三大特征分别是:封装、继承、多态

2、继承基本的作用是:代码复用。但是继承最重要的作用是:有了继承才有了以后的方法的覆盖和多态机制。

3、继承的语法格式:

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

类体 = 属性 + 方法

}

4、Java语言当中的继承只支持单继承 ,一个类不能同时继承很多类,只能继承一个类。(在C++中支持多继承)

5、关于继承中的一些术语:

B类继承A类,其中:

A类称为:父类、基类、超类、superclass

B类称为:子类、派生类、subclass

6、在Java语言当中子类继承父类都继承哪些数据?

- 私有的不支持继承

- 构造方法不支持继承

- 其他数据都支持继承

7、虽然Java语言只支持单继承,但一个类也可以间接继承其他类,例如:

        C extends B{

        }

        B extends A{

        }

        A extends T{

        }

C类直接继承B类,但C类间接继承A、T类。

8、Java语言中假设一个类没有显示地继承任何类,该类默认地继承Javase库当中提供的java.lang.Object类。Java语言中任何一个类都有Object类的特征。

public class ExtendsTest {
	//查找类型快捷键:ctrl + shift + T
	//查找资源快捷键:ctrl + shift + R
	public static void main(String[] args) {
		
		ExtendsTest et = new ExtendsTest();
		String s = et.toString();
		System.out.println(s);//inherit.ExtendsTest@1a1d6a08
		
	}

}

上述代码中"toString()"验证了Java语言中任何一个类都有Object类的特征。


银行账户类 

public class Account {
	
	private String actnum;
	private double balance;//余额
	
	public Account() {
	}
	public Account(String actnum, double balance) {
		this.actnum = actnum;
		this.balance = balance;
	}
	
	public String getActnum() {
		return actnum;
	}
	public void setActnum(String actnum) {
		this.actnum = actnum;
	}
	public double getBalance() {
		return balance;
	}
	public void setBalance(double balance) {
		this.balance = balance;
	}
	
}

 信用卡账户类

public class CreditAccount {
	
	private String actnum;
	private String balance;
	private String credit;
	
	public CreditAccount() {
	}

	public CreditAccount(String actnum, String balance, String credit) {
		this.actnum = actnum;
		this.balance = balance;
		this.credit = credit;
	}
	
	public String getActnum() {
		return actnum;
	}

	public void setActnum(String actnum) {
		this.actnum = actnum;
	}

	public String getBalance() {
		return balance;
	}

	public void setBalance(String balance) {
		this.balance = balance;
	}

	public String getCredit() {
		return credit;
	}

	public void setCredit(String credit) {
		this.credit = credit;
	}
	
	
}

观察两种类,其中有很多重复的地方

	private String actnum;
	private String balance;

public String getActnum() {
		return actnum;
	}

	public void setActnum(String actnum) {
		this.actnum = actnum;
	}

	public String getBalance() {
		return balance;
	}

	public void setBalance(String balance) {
		this.balance = balance;
	}

上述这些为相同重复部分

改进:extends 继承

public class CreditAccount extends Account{
	

	private String credit;
	
	public CreditAccount() {
	}

	public String getCredit() {
		return credit;
	}

	public void setCredit(String credit) {
		this.credit = credit;
	}
	
	
}

 实践发现,可以调用,继承成功。


public class ExtendsTest02 {

	public static void main(String[] args) {

		C c = new C();
		c.doSome();
		
	}

}

class A{
	public void doSome () {
		System.out.println("do some!");
	}
}

class B extends A{
	
}

class C extends B{
	
}

上述中c.doSome调用的doSome方法是从B类中继承过来的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721463.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号