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());

    }

}

 

posted @ 2022-07-04 11:08  ja不会va  阅读(42)  评论(0)    收藏  举报