<--------------------------构造方法------------------------------>

1 构造方法
  初始化阶段 给对象的属性进行赋值 构造方法
  什么是构造方法 : 字面 方法构建时 就使用的方法 对象创建的时候就使用的方法
  作用:对象的属性值初始化
2 如何用构造方法
  修饰符 构造方法名(参数列表){

  }
  2.1 一般情况下没有返回值
  2.2 构造方法名必须和类名一致
  2.3 构造方法体:

 this 可以在构造方法之间进行调用
        this在构造方法之间调用的格式  this(变量值)//this(name);   
        this.名 区分成员变量和局部变量

      如:public Person(String name){
          this.name=name;
          }

    public class TestPerson {
      public static void main(String[] args) {
        Person p = new Person();
        System.out.println(p.getName());
      }
    }

3  super() 的使用方式

  子类 super() 调用父类的空参构造方法
  super(参数)调用父类的有参构造方法
  子类的构造方法 有一个默认添加的构造方法
  子类构造方法第一行 有一个隐式代码调用父类的构造方法

4 构造方法VS普通方法
  4.1 创建的方式不一样
    普通 :
    修饰符 类名(){} 一般有返回值
    构造:
    修饰符 构造方法名(参数列表){}
  4.2 作用不一样
    构造方法----》用来给成员变量赋值
  4.3 调用方式不一样
    this();
    super();   

    super.value();//调用父类的方法

  4.4 执行方式不一样
    构造方法在对象创建的时候就执行了
    普通方法需要使用的时候 调用才执行

例子:

Person:
public class Person {
/*  
 *  描述学生和工人两个类   name  age---》抽取  父类  Person 提供set   get  
 *  同时创建学生和工人对象  必须明确年龄和姓名  并且控制台输出
 * */
    private String name;
    private int age;
    
    public Person(String name, int age) {
        
        this.name = name;
        this.age = age;
    }
    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;
    }
    
}
Student:
public class Student extends Person{
    public Student(String name,int age){
        super(name,age);
    }
}
Woker:
public class Woker extends Person {
     public Woker(String name,int age){
            super(name,age);
        }
}
TestDemo:
public class Woker extends Person {
     public Woker(String name,int age){
            super(name,age);
        }
}
原文地址:https://www.cnblogs.com/duguangming/p/10543335.html