public class Persontest{ 
        public static void main(String[] args){ 
                Person a = new Person(); 
                Person b = new Person(300); 
                Person c = new Person(800,22); 
                 //a.person();     使用编译错误 
                } 
} 
class Person{ 
                Person() { 
                        int id = 500; 
                        int age = 20; 
                        System.out.println(id + "--" + age); 
                } 
                Person(int _id) { 
                        int id = _id; 
                        int age = 21; 
                        System.out.println(id + "--" + age); 
                } 
                Person(int _id, int _age) { 
                        int id = _id; 
                        int age = _age; 
                        System.out.println(id + "--" + age); 
        } 
} 
最近在学到构造方法和重载,有上面这么一个小程序,初学,本来想打印id和age,结果在main方法中用的注释中方法,编译出错,不认识“。”方法,后来突然意识到似乎new对象的时候就已经调用构造方法了,去掉注释内容胡编译运行正常,想确认一下到底是不是这样,main方法new对象时是不是就已经调用了Person类中的构造方法,xx.xx();这种调用的是不是类中构造方法以外的其他方法时使用,还有,之前想打印id和age,因为不懂,直接在main方法中new对象后就直接a.person;System.out.println(a);打印出来是tostring方法的person@哈希值,新人自学,没有人教,请各位讲解一下!! |   
        
 
    
    
    
     
 
 |