java中继承

前两个月写了一篇文章多态,,,,却忘记了继承,以下简要概括什么是继承

 

1 什么是继承?

子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为

 

 

2 为什么需要继承?什么时候应该继承?

使用继承可以有效实现代码复用,避免重复代码的出现。

当两个类具有相同的特征(属性)和行为(方法)时,可以将相同的部分抽取出来放到一个类中作为父类,其它两个类继承这个父类。

继承实现了面向对象的原则

 

 

3 如何实现继承?

java语言中,用extends(扩展)关键字来表示一个类继承了另一个类。

在父类中只定义一些通用的属性和方法。

注意只能继承一个父类

子类自动继承父类的属性和方法,子类中可以定义特定的属性和方法。或子类重新定义父类的属性、重写父类的方法可以获得与父类不同的功能。

 

1  继承只支持单继承

2 多个类可以继承一个父类

3 可以实现多层继承 A extends B extends C

 

4 什么是方法重写?注意方法重写和方法重载区别

如果在子类中定义的一个方法,名称、返回类型及参数列表正好与父类中某个方法的名称、返回类型及参数列表相匹配那么可以说,子类的方法重写了父类的方法。

方法重写在不同类,是实现多态的必要条件。

 

方法重载是在一个类中名称、返回类型及参数列表,一定要与同名的不相同,才能达到重载目的

 

5 super关键字的用法和位置,super关键字调用父类的构造方法,super关键字调用父类的方法?

1.在子类的构造方法中,通过super关键字调用父类的构造方法。

2.如果子类中重写了父类的方法,可以通过super关键字调用父类的方法

 以下举例super如何使用


public class Student {
	int number;
    String name;
    public Student() {
		// TODO Auto-generated constructor stub
	}
	public Student(int number, String name) {
		super();
		this.number = number;
		this.name = name;
	}
    @Override
    public String toString() {
    	// TODO Auto-generated method stub
    	return  name+number;
    }
    
}

public class Teacher  extends Student {
  String salary;
  public Teacher() {
	// TODO Auto-generated constructor stub
}
public Teacher(int number, String name, String salary) {
	super(number,name);
	this.salary = salary;
}
  @Override
	public String toString() {
		return super.toString()+this.salary;
	}
}


public class Test {
   public static void main(String[] args) {
	Student s1=new Student(12,"xiaoming");
	Teacher t1=new Teacher(22,"张","1000");
	System.out.println(s1.toString());
	System.out.println(t1.toString());
}
   
}


输出结果为


 

 

 

位置注意:调用父类的构造方法的语句(super语句)必须是构造方法中的第一条语句

因为创建对象的时候,需要先创建父类对象,再创建子类对象。

注意:创建对象时,先创建父类对象,在创建子类对象。如果没有显示调用父类的构造方法,将自动调用父类的无参构造方法。

 

构造方法注意不要忘记写无参构造方法因为如果只定义了有参数的构造方法,无参构造方法无法自动生成

 

6 一切类(祖先)Object

所有类都直接或者间接地继承了java.lang.Object类,Object类中定义了所有的java对象都具有的相同行为,是所有类的祖先。

一个类如果没有使用extends关键字,那

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值