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 @   ja不会va  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示