Java语言构造方法概念
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
super与构造方法样例
class A{
public A(){ System.out.println(“A的无参构造方法"); }
public A(String mess){
System.out.println(“A的有参构造方法\n"+ "参数内容:"+mess); }
}
class B extends A{
public static void main(String[] args) {
Demo test = new Demo("this测试成功",25); } }
this测试成功 25
思考题
• 定义Java类时,构造方法是必须的吗? • 若没有在程序中明确定义构造方法,那么新定义的Java类
是否存在构造方法?
public A(String mess){
System.out.println(“有参构造方法\n"+ "参数内容:"+mess); }
}
public class Demo{
public static void main(String [] args){
A a_1=new A(); A a_2=new A("Hello"); }
public B(){ System.out.println(“B的无参构造方法"); }
public B(String mess){
super(mess);
System.out.println(“B的有参构造方法\n"+ "参数内容:"+mess); }
}
public class Demo{
public static void main(String [] args){
B b_01=new B();
B b_02=new B("你好"); }
}
this与构造方法
• 构造方法通过this可以调用同一个类的另外构造方法 • 使用this调用另一构造方法的语句必须是构造方法的第一
条语句 • 不能在构造方法之外的任何方法内调用构造方法
this与构造方法样例
public class Demo{
构造方法概念
• 是一种特殊的方法
– 与类同名 – 每个类可以有一个以上的构造方法 – 构造器可以有0个、1个或多个参数 – 构造方法没有返回值 – 构造方法总是伴随着new操作一起调用
• 用于对成员变量进行初始化
构造方法样例
public class A{
public A(){
System.out.println(“无参构造方法"); }
private int age;
private String str;
Demo(String str) {
this.str=str; System.out.println(str); }
Demo(String str,int age) {
this(str); this.age=age;
System.out.println(age); }
//调用无参的构造函数 //调用有参的构造函数
无参构造方法 有参构造方法
}
Βιβλιοθήκη Baidu
参数内容:Hello
super与构造方法
• 使用super调用父类构造方法的语句必须是子类构造方法 的第一条语句
• 如果子类构造方法没有显式地调用父类的构造方法,则自 动调用父类的默认构造方法。
• 如果父类没有无参构造方法,子类构造方法又没有显式调 用父类构造方法,则编译错误