mobo0 bắt đầu chủ đề từ 1 năm trước

@billy21 ·


Trình xây dựng trong một lớp có thể gọi một hàm tạo quá tải của siêu lớp của nó trong Java không? (nói nếu chúng tôi muốn thực hiện cuộc gọi đó một cách rõ ràng và có chủ ý).

Tôi hiểu rằng một hàm tạo trong một lớp thực hiện một cuộc gọi ngầm đến hàm tạo mặc định không có đối số của siêu lớp, như đã thấy ở trên (sử dụng super();). Nhưng, nếu tôi sử dụng một hàm tạo siêu lớp bị quá tải (giả sử, super(String s);), thì câu hỏi của tôi là, điều này có khả thi không? Và, giả sử điều này là có thể, thì lệnh gọi super() vẫn được thực hiện trước super(String s), và nếu có thì hàm ý là gì? Tiết kiệm.java

public class Savings extends Account {

    public Savings(int initial, User owner, double history, double monthInterest) {
        super(initial, owner);
        int total = getTotal();

        deposit(history * 12 * monthInterest / 100 * (total + 55),
                "monthly interest",
                "Total interest accumulated in " + Math.round(history * 12) + " months");

    }

    public void transferS(int amount) {
        System.out.println(total);
        System.out.println(super.total);
    } 

Tài khoản.java

public class Account {

    private User owner;
    protected int total;

    public Account(int initial, User owner) {

        this.total = initial;
        this.owner = owner;
    }

    public int getTotal() {
        return total;
    }

Viết câu trả lời

Drop Images

0 Bình luận