112/113构造方法和定义一个标准类
造方法的作用域
构造方法只能通过以下方式被调用:
(1) 当前类的其他构造方法通过this语句调用它。
(2) 当前类的子类的构造方法通过super语句调用它。
(3)在程序中通过new语句调用它。
对于例程(Sub.java)的代码,请读者自己分析某些语句编译出错的原因。
例程 Sub.java
class Base{
public Base(int i,int j){}
public Base(int i){
this(i,0); //合法
Base(i,0); //编译出错
}
}
class Sub extends Base{
public Sub(int i,int j){
super(i,0); //合法
}
void method1(int i,int j){
this(i,j); //编译出错
Sub(i,j); //编译出错
}
void method2(int i,int j){
super(i,j); //编译出错
}
void method3(int i,int j){
Base s=new Base(0,0); //合法
s.Base(0,0); //编译出错
}
}
定义一个标准的类
一个标准的类通常拥有以下四个组成部分
1.所有的成员变量都使用private关键字修饰
2.为每一个成员变量编写一对getter/setter方法
3.编写一个无参构造函数
4.编写一个全参构造函数
这样标准的类也叫Java Bean
public class Student { private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } public class DemoStudent { public static void main(String[] args) { Student stu1 = new Student(); stu1.setName("迪丽热巴"); stu1.setAge(20); System.out.println("姓名:"+stu1.getName() +",年龄:"+stu1.getAge()); System.out.println("============================="); Student stu2 = new Student("古力娜扎",21); System.out.println("姓名:"+stu2.getName() +",年龄:"+stu2.getAge()); stu2.setName("玛尔扎哈"); System.out.println("姓名:"+stu2.getName() +",年龄:"+stu2.getAge()); } }

浙公网安备 33010602011771号