继承

继承使用关键字:extends

类的继承格式:

class 父类 { }

class 子类 extends 父类 { }

继承的特性:

  • 子类拥有父类非private的属性,方法。
  • 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
  • 子类可以用自己的方式实现父类的方法(重写)。
  • Java的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如A类继承B类,B类继承C类,所以按照关系就是C类是B类的父类,B类是A类的父类。
  • 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系)。

——————-

implements 关键字:实现接口,可变相地使java具有多继承的特性,使用范围为类实现接口的情况(可同时实现多个接口)。extends仅具有多重继承的特性,而不是多继承。

super,this 关键字:super(用来实现对父类成员的访问,用来引用当前对象的父类)。this(指向自己的引用)

final 关键字:final声明的类为最终类,不能继承;修饰的方法不能被子类重写。注:实例变量也可以被定义为final ,被定义为final的变量不能被修改。被声明为final 的类,方法自动声明为final ,但是实例变量并不是fianl

构造器:子类不能继承父类的构造器,但是父类构造器带有参数的,必须在子类的构造器重显式地通过super关键字调用父类的构造器并配以适当的参数列表。 * 子类继承父类,如果父类中只含“有参构造器”,那么在子类中必须用super,先构造父类,然后构造子类。* java类构造方式的执行顺是要初始化子类必须先初始其父类。

package bao1;

public class FuLei {
	
	String name; // 姓名
	String sex; // 性别
	int age; // 年龄
	
	// 父类的无参构造器
	FuLei(){}
	
	// 父类的三参构造器
	FuLei(String name, String sex, int age){
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
	
	// 父类的两参构造器 (类中参数不同的构造器其实就是方法重载)
	FuLei(String name, String sex){
		this.name = name;
		this.sex = sex;
	}
	
	// 父类的介绍方法
	public void jieShao() {
		System.out.println("他名字叫:" + name + "性别:" + sex + "年龄:" + age + "。");
	}
	
	// main方法必须写在 带 public 访问权限的类中,否则eclipse执行
	public static void main(String[] args) {
		ZiLei ziLei = new ZiLei("费瑟","男",23,"走走");
		ziLei.jieShao();
		ziLei.iLike();	
	}

}

/**
 * 子类继承父类,如果父类中只含“有参构造器”,那么在子类中必须用super,先构造父类,然后构造子类。
 * java类构造方式的执行顺是要初始化子类必须先初始其父类。
 * @author Facer
 *
 */
class ZiLei extends FuLei {
	
	String like; // 爱好

	ZiLei(String name, String sex, int age,String like) {
		super(name, sex, age);
		this.like = like;
	}
	
	// 子类重写父类的 jieShao() 方法
	public void jieShao() {
		System.out.println("她名字叫:" + name + ",性别:" + sex + ",年龄:" + age + "。");
	}
	
	// 子类的爱好方法
	public void iLike() {
		System.out.println(name + "的爱好是:" + like);
	}
}

 

 


297 Clicks !

发表评论

电子邮件地址不会被公开。