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()); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix