this 与 super 用途
一、this用途:
一是引用隐式参数,二是调用该类其他的构造器。
二、super用途:
一是调用超类的方法,二是调用超类的构造器
三、用法举例
- package com.test.xqh;
- public class Manage extends Employee {
- private String sex;
- public Manage(String name, int age, String sex) {
- super(name, age); // super用途2,调用超类的构造器
- this.setSex(sex);
- }
- public String getName() {
- return super.getName() + "HHHH"; // super用途1, 调用超类的方法
- }
- public void setSex(String sex) {
- this.sex = sex;
- }
- public String getSex() {
- return sex;
- }
- public void say() {
- System.out.println("***");
- }
- public static void main(String[] args) {
- Employee[] e = new Employee[2];
- e[0] = new Employee("张三", 22);
- e[1] = new Manage("李四", 22, "男");
- System.out.println(e[0].getName());
- System.out.println(e[1].getName());
- }
- }
- class Employee {
- private String name;
- private int age;
- public Employee(String name, int age) {
- this(); // this用途2,调用该类的构造器(此例为默认的构造器)
- this.name = name; // this用途1,引用隐式参数
- this.age = age; // this用途1,引用隐式参数
- }
- public Employee() {
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }