美文网首页
java学习第十三章(构造方法和重载)

java学习第十三章(构造方法和重载)

作者: 锋叔 | 来源:发表于2019-03-11 20:24 被阅读0次

    构造方法(无参数)

    • 方法名必须和所在类名相同;
    • 且没有返回值(记住了没有返回值如果你public void 就不是一个构造方法)
    • 自动执行且优先级高于普通方法
    
    class Student {
        // 方法名必须和所在类名相同,
        // 且没有返回值
        // 且优先级高于其他方法还不用调用会
        public Student() { // 构造方法
            System.out.println("我会自己执行,因为我是构造函数!");
        }
        public void call() { // 普通方法
            System.out.println("我是普通方法!");
        }
    }
    public class MethodsThree {
    
        public static void main(String[] args) {
            Student s = new Student();
            // 这里并没调用构造函数,但运行会先执行构造函数
            s.call();
        }
    
    }
    // 我会自己执行,因为我是构造函数!
    // 我是普通方法!
    

    构造方法(有参数)

    • 参数定义了几个就得在创造实例时传几个参数且必须同类型
    class Student {
        String name;
        char gender; // 性别
        String face; 
        // 三个参数
        public Student(String name, char gender, String face) {
            name = name;
            gender = gender;
            face = face;
            System.out.println("性别"+gender+",姓名"+name+",外貌" + face );
        }
    }
    public class MethodsThree {
    
        public static void main(String[] args) {
            Student s = new Student("殿峰", '男' , "一言难尽"); // 三个参数类型统一
            
        }
    
    }
    
    // 性别男,姓名殿峰,外貌一言难尽
    

    方法的重载

    • 相同名字,参数数量相同,但参数类型不同的方法称之为重载
    class Student {
        // 方法的重载
        public void setHeight(float h) {
            System.out.println("身高(float类型):" + h);
        }
        public void setHeight(double h) {
            System.out.println("身高(double类型):" + h);
        }
    }
    public class MethodsThree {
    
        public static void main(String[] args) {
            Student s = new Student();
            // 传不同参数调用同一个方法名,但实际不同方法。
            s.setHeight(155.4f);
            s.setHeight(165.6);
        }
    
    }
    // 身高(float类型):155.4
    // 身高(double类型):165.6
    

    构造方法的重载

    
    class Student {
        // 构造的方法的重载
        public Student(String name, char gender, String face) {
            System.out.println("性别"+gender+",姓名"+name+",外貌" + face );
        }
        public Student(char gender, String name ) {
            System.out.println("性别和名字调换位置的构造方法" );
        }
        public Student() {
            System.out.println("没得参数的构造方法" );
        }
    }
    public class MethodsThree {
    
        public static void main(String[] args) {
            Student s = new Student("殿峰", '男' , "一言难尽");
            Student zs = new Student();
            Student ls = new Student('男', "李四");
    
    //      Student ls = new Student("李四", '男' ); // 报错!!!
        }
    
    }
    // 性别男,姓名殿峰,外貌一言难尽
    // 没得参数的构造方法
    // 性别和名字调换位置的构造方法
    
    
    上一章 目录 下一章

    相关文章

      网友评论

          本文标题:java学习第十三章(构造方法和重载)

          本文链接:https://www.haomeiwen.com/subject/ilqipqtx.html