public class Lan{
public static void main(String []agrs){
/*
Person p1=new Person();
p1.age=8;
p1.Test();
System.out.println("第一个为"+p1.age);
创建这一个的时候就不行,提示找不到符号,在“Person p1=new Person()”的new这里提示的,去掉可就没问题。。
*/
Person p2=new Person(7,"小五");
p2.Test();
p2.jisuan();
System.out.println("第二个为"+p2.age);
}
}
class Person{
int age;
String name;
public void jisuan()
{
int i=2;
System.out.println(i);
}
public void Test(){
System.out.println("做测试1");
}
Person(int age,String name){
this.age=age;
this.name=name;
}
}
PHP中文网2017-04-18 10:56:30
생성자를 명시적으로 작성하는 경우. 기본 생성자는 생성되지 않습니다.
Person()만 추가하세요{
참고
클래스의 생성자를 재정의하는 경우 빈 생성자를 재정의해야 합니다.
일부 프레임워크는 리플렉션을 통해 객체를 생성할 때 이 기본 생성자를 찾기 때문입니다.
Test() 메소드를 test()로 변경해주세요.
PHP中文网2017-04-18 10:56:30
Person 클래스의 매개변수화된 생성자는 기본 생성자를 재정의합니다.
참고: 기본 생성자에는 매개변수가 없습니다
따라서 다음과 같이 사용하는 경우: Person p1=new Person();
Person 클래스에 매개변수 없는 생성자를 지정해야 합니다. 또는 매개변수가 포함된 생성자를 간단히 제거하세요.
天蓬老师2017-04-18 10:56:30
Person 클래스에 생성자를 정의했기 때문에 기본 생성자 Person()은 생성되지 않고 사용자 정의 생성자가 사용됩니다.
함수 오버로딩을 사용하고 생성자 Person()을 작성할 수도 있습니다.