Java中super关键字的用法

1.在子类的成员方法中,访问父类的成员变量

2.在子类的成员方法中,访问父类的成员方法

3.在子类的构造方法中,访问父类的构造方法

下面有一些代码关于this和super在继承中的一些用法

package net.onest.demo2;

public class Person {
	
	private String name;
	private int age;
	
	
	
	public String getName() {
		System.out.println("super关键字的用法");
		return name;
	}



	public void setName(String name) {
		this.name = name;
	}



	public int getAge() {
		return age;
	}



	public void setAge(int age) {
		this.age = age;
	}



	public Person(String name) {
		System.out.println("基类中的含参构造方法");
	}
	
	public Person() {
		System.out.println("基类中的无参构造方法");
	}

}

package net.onest.demo2;

public class Student extends Person{
	
	private String name;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Student(String name) {
		super(name);
		// TODO Auto-generated constructor stub
		System.out.println("使用了super关键字");
		
	}
	
	public Student(){
		this("123");
		super.getName();
		System.out.println("派生类的无参构造方法");
	}
	
	public Student(int age) {
//		this("张三");
		this();
		System.out.println("使用了this关键字调用其他的构造方法");
	}

	public static void main(String[] args) {
		
		Person a = new Student(18);
		System.out.println();
		Student b = (Student) new Person();
		
		
	}

}

你可能感兴趣的:(多态,类)