У меня есть код для сравнения телефонов 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");
}
}