zoukankan      html  css  js  c++  java
  • Java自学-类和对象 构造方法

    怎么使用 Java 构造方法?

    通过一个类创建一个对象,这个过程叫做实例化

    实例化是通过调用构造方法(又叫做构造器)实现的

    步骤 1 : 什么是构造方法

    方法名和类名一样(包括大小写)
    没有返回类型
    实例化一个对象的时候,必然调用构造方法

    public class Hero {
     
        String name;
     
        float hp;
     
        float armor;
     
        int moveSpeed;
     
        // 方法名和类名一样(包括大小写)
        // 没有返回类型
        public Hero() {
            System.out.println("实例化一个对象的时候,必然调用构造方法");
        }
         
        public static void main(String[] args) {
            //实例化一个对象的时候,必然调用构造方法
            Hero h = new Hero();
        }
     
    
    }
    

    步骤 2 : 隐式的构造方法

    Hero类的构造方法是

    public Hero(){ 
    }
    

    这个无参的构造方法,如果不写,就会默认提供一个

    public class Hero {
         
        String name; //姓名
         
        float hp; //血量
         
        float armor; //护甲
         
        int moveSpeed; //移动速度
         
        //这个无参的构造方法,如果不写,
        //就会默认提供一个无参的构造方法
        //  public Hero(){ 
        //      System.out.println("调用Hero的构造方法");
        //  }
     
        public static void main(String[] args) {
            Hero garen =  new Hero();
            garen.name = "盖伦";
            garen.hp = 616.28f;
            garen.armor = 27.536f;
            garen.moveSpeed = 350;
             
            Hero teemo =  new Hero();
            teemo.name = "提莫";
            teemo.hp = 383f;
            teemo.armor = 14f;
            teemo.moveSpeed = 330;
        }  
         
    }
    

    步骤 3 : 如果提供了一个有参的构造方法

    一旦提供了一个有参的构造方法
    同时又没有显式的提供一个无参的构造方法
    那么默认的无参的构造方法,就“木有了“

    public class Hero {
          
        String name; //姓名
          
        float hp; //血量
          
        float armor; //护甲
          
        int moveSpeed; //移动速度
          
        //有参的构造方法
        //默认的无参的构造方法就失效了
        public Hero(String heroname){ 
            name = heroname;
        }
          
        public static void main(String[] args) {
            Hero garen =  new Hero("盖伦"); 
              
            Hero teemo =  new Hero(); //无参的构造方法“木有了”
        }  
          
    }
    

    步骤 4 : 构造方法的重载
    和普通方法一样,构造方法也可以重载

     public class Hero {
               
            String name; //姓名
               
            float hp; //血量
               
            float armor; //护甲
               
            int moveSpeed; //移动速度
               
            //带一个参数的构造方法
            public Hero(String heroname){ 
                name = heroname;
            }
             
            //带两个参数的构造方法
            public Hero(String heroname,float herohp){ 
                name = heroname;
                hp = herohp;
            }
               
            public static void main(String[] args) {
                Hero garen =  new Hero("盖伦"); 
                Hero teemo =  new Hero("提莫",383);
            }
             
        }
    

    练习构造方法

    (为Hero设计4个参数的构造方法
    这四个参数分别是
    String heroName
    float heroHP
    float heroArmor
    int heroMoveSpeed)

    答案

    public class Hero {
            
        String name; //姓名
            
        float hp; //血量
            
        float armor; //护甲
            
        int moveSpeed; //移动速度
            
        //带一个参数的构造方法
        public Hero(String heroname){ 
            name = heroname;
        }
          
        //带两个参数的构造方法
        public Hero(String heroname,float herohp){ 
            name = heroname;
            hp = herohp;
        }
        public Hero(String heroName,float heroHP,float heroArmor,int heroMoveSpeed){ 
            name = heroName;
            hp = heroHP;
            armor = heroArmor;
            moveSpeed=heroMoveSpeed;
        }
         
        public static void main(String[] args) {
            Hero garen =  new Hero("盖伦"); 
            Hero teemo =  new Hero("提莫",383);
            Hero db =  new Hero("死哥",400,27,360);
        }
          
    }
  • 相关阅读:
    法正(25):劝降
    单例模式
    Redis学习笔记(六)---List
    canvas的使用
    HTML5的新特性
    html学习笔记一
    matlab无法使用
    Hadoop笔记(一)
    PL/SQL笔记(一)
    Oracle数据库(二)
  • 原文地址:https://www.cnblogs.com/jeddzd/p/11429169.html
Copyright © 2011-2022 走看看