Это простой пример Java с использованием super и этим, но это не работает - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть код для сравнения телефонов 2G, 4G, но я хотел бы использовать Super и это для ввода имени каждого телефона. Однако ошибки нет, но имя каждого мобильного телефона содержит нулевое значение. Что не так? Я хочу поставить Galaxy в 4G и Sony в 2G, но это мне ничего не стоит.

    public class phone {
    public static void main(String[] args) {
        Telephone myTelephone = new Telephone();
        Phone4G myPhone4G = new Phone4G();
        Phone2G myPhone2G = new Phone2G();
        System.out.println("|4G Phone name: " + Telephone.name4G + " |4G Phone speed: "+ Telephone.speed(10) + " |4G Phone App Use? " + Phone4G.appUse() + " |4G Phone speed: "+ Telephone.speed(10));
        System.out.println("|2G Phone name: " + Telephone.name2G + " |2G Phone speed: "+ Telephone.speed(4) + " |2G Phone App Use? " + Phone2G.appUse() + " |2G Phone speed: "+ Telephone.speed(4));
    }
    }

class Telephone {

    int size = 10;
    static String name4G;
    static String name2G;

    static int speed(int sp) {
        System.out.println();
        return sp;
    }
    static int size(int size) {
        System.out.println("Size is " + size);
        return size;
    }

    public String name4G(String name4G) {
        return name4G;
    }
    public String name2G(String name2G) {
        return name2G;
    }
    public String toString() {
        return null;
    }
}

class Phone4G extends Telephone{

    public Phone4G() {
        System.out.println("Empty");

    }
    static boolean appUse() {
        System.out.println("Application is available");
        return true;
    }
    public String toString() {
        return super.name4G("Galaxy");
    }
}

class Phone2G extends Telephone{
    static boolean appUse() {
        System.out.println("Application is NOT available");
        return false;
    }
    public Phone2G() {
        System.out.println("Empty");
    }
    public String toString() {
        return super.name2G("Sony"); 

    }

}
...