• java===java基础学习(10)---对象构造


    重载

    如果多个方法有相同的名字,不同的参数,便产生了重载。编译器必须挑选出具体执行哪个方法,他通过用各个方法给出的参数类I型那个与特定方法调用所使用的值类型进行匹配来挑选出相应的方法。如果编译器找不到匹配的参数,就会产生编译时错误,因为根本不存在匹配,或者就没有一个比其他的更好。(这个过程称为重载解析)

    *因此,要完整地描述一个方法需要指出方法名以及参数类型。这叫方法的签名。

    *不能有两个名字相同,参数类型也相同却返回不同类型值的方法。

    默认域初始化

    无参数的构造器

    package testbotoo;
    
    import java.util.Random;
    
    public class ConstructorTest {
    
        public static void main(String[] args){
            // fill the staff array with three Employee object
            Employee[] staff = new Employee[3];
            
            staff[0] = new Employee("Harry", 4000);
            staff[1] = new Employee(6000);
            staff[2] = new Employee();
            
            for (Employee e : staff)
                System.out.println("name = "+ e.getName()+",id="+e.getId() + ",salary="+ e.getSalary());
            
            
        }
    }
    
    class Employee
    {
        private static int nextId;
        
        private int id;
        private String name = ""; //instance field initalization
        private double salary;
        
        //static initialization block
        static
        {
            Random generator = new Random();
            //set nextId to a random number between and 999
            nextId = generator.nextInt(10000);
        }
        
        // object initialization block
        {
            id = nextId;
            nextId++;
        }
        
        //three overloaded constructors
        public Employee(String n, double s)
        {
            name = n;
            salary = s;        
        }
        
        public Employee(double s )
        {
            //calls the Employee(String ,double) constructor
            this("Employee#" + nextId, s);
        }
        
        // the default constructor
        public Employee()
        {
            // name initvalized to "" --see above
            // salary not explicitly set -- initialized to 0
            // id initialized in initialization block 
            
        }
        
        public String getName()
        {
            return name;
        }
        
        public double getSalary()
        {
            return salary;
        }
        
        public int getId()
        {
            return id;
        }
    
    
    
    
    
    }
  • 相关阅读:
    Android APK安装过程介绍
    Android Linux自带iptables配置IP访问规则
    海康视频监控---Demo
    Go之获取Windows下文件是否隐藏
    Go之go与channel组合使用
    Go并发编程(四)
    Go错误处理(二)
    Go面向对象(三)
    判断两端日期是否重合
    Sql分页存储过程
  • 原文地址:https://www.cnblogs.com/botoo/p/8743494.html
Copyright © 2020-2023  润新知