Java核心技术-对象与类 4-6-6

Java核心技术-对象与类 4-6-6,第1张

Java核心技术-对象与类 4-6-6
class Bok{
    public Bok(){
        System.out.println("一个新的Bok类对象");
    }
    public Bok(String title){
        this();
    }
    public Bok(String title,double price){
        this(title);
    }
}

public class TestDemo {
    public static void main(String[] args) {
        Bok bok = new Bok("Java开发",79.8);
    }
}

输出为:

一个新的Bok类对象

使用this调用其他构造有如下要求:

1.构造的调用必须放在构造方法的首行

class Bok{
    public Bok(){
        System.out.println("一个新的Bok类对象");
    }
    public Bok(String title){
        System.out.println();
        this();
    }
    public Bok(String title,double price){
        this(title);
    }
}

public class TestDemo {
    public static void main(String[] args) {
        Bok bok = new Bok("Java开发",79.8);
    }
}

程序报错:

java: 对this的调用必须是构造器中的第一个语句

2.this不能在普通方法中进行调用

    public void fun(){
        this();
    }

程序报错:

java: 对this的调用必须是构造器中的第一个语句

 3.在this互相调用构造方法的时候,请保留有一个出口

class Bok{
    public Bok(){
        this("JAS",12);
    }
    public Bok(String title){
        this();
    }
    public Bok(String title,double price){
        this(title);
    }
}

public class TestDemo {
    public static void main(String[] args) {
        Bok bok = new Bok("Java开发",79.8);
    }
}

程序报错:

java: 递归构造器调用

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5575371.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存