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


    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);
            }
    }
  • 相关阅读:
    欧拉回路一个定理的证明
    NOIP2018 初赛数学第二题解析
    linux 减少Terminal路径的方法
    网络挖坑
    linux 记录
    河南游记 Day0

    NOI2018 Day 1 你的名字
    大佬的几行fastIO
    Codeforces 781B. Innokenty and a Football League
  • 原文地址:https://www.cnblogs.com/duguangming/p/10543335.html
Copyright © 2020-2023  润新知