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类中继承过来的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java面向对象的三大特性是封装、继承和多态。封装是指将实现细节从接口中隐藏起来,使客户端无需关心实现细节,只需要调用接口即可。继承是指子类可以继承父类的属性和方法,使子类可以共享父类的属性和方法,从而实现代码的复用。多态是指同一操作作用于不同的对象,可以有不同的解释,从而实现不同的功能。 ### 回答2: Java面向对象的三大特性是封装、继承和多态。 封装是指将数据和对该数据的操作方法封装在一个类中,通过访问权限修饰符对数据进行限制,从而隐藏数据的具体实现细节,仅对外提供必要的接口,保证数据的安全性和一致性。通过封装可以提高代码的复用性和可维护性,降低耦合性。 继承是一种基于现有类创建新类的机制,通过使用已有类的属性和方法,实现代码的重用。在Java中,通过使用extends关键字可以实现类的继承,子类可以继承父类的公共属性和方法,并且可以在继承的基础上进行扩展和重写。继承可以提高代码的可复用性和可扩展性,减少代码的冗余和重复。 多态是指同一类型的对象在不同的情况下表现出不同的行为。在Java中,通过继承和方法重写的方式实现多态。父类类型的引用变量可以引用子类类型的对象,从而可以根据不同的对象类型调用相应的方法。通过多态机制,可以提高代码的灵活性和可扩展性,增加代码的可读性。 这三个特性相互配合,可以使得Java面向对象的程序具有高内聚、低耦合的特点。封装保证了数据的隐藏和安全性,继承提供了代码的重用和扩展性,而多态则实现不同对象类型的统一处理。面向对象的三大特性是Java中重要的编程思想,对于代码的设计和开发具有重要意义。 ### 回答3: Java面向对象的三个特性分别是封装、继承和多态。 首先,封装是指将数据和方法封装在一个类中,对外只暴露必要的接口,隐藏了其具体的实现细节。通过封装,可以提高代码的可维护性和安全性,同时也减少了代码的耦合性,提高了代码的复用性。 其次,继承是指一个对象可以直接拥有另一个对象的属性和方法。通过继承,一个类可以继承另一个类的属性和方法,从而减少了代码的重复性,提高了代码的复用性。同时,继承也能够实现多态,允许将子类的对象赋值给父类的变量,实现了类之间的替换和扩展。 最后,多态是指一个对象可以具有多种形态。在Java中,多态通过程序的运行时动态绑定实现。多态有助于提高代码的灵活性和可扩展性。通过多态,可以编写通用的代码,使得程序可以处理不同类型的对象,从而提高了代码的可复用性和可维护性。 总的来说,Java面向对象的三大特性——封装、继承和多态,分别通过对数据和方法的封装、层次化结构的继承和运行时动态绑定的多态实现了代码的封装性、代码的复用性和代码的灵活性。这些特性使得Java成为一种非常强大的面向对象编程语言

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值