(до Java8) Беспорядок, возникающий из-за слова "default
", модификатор доступа.Когда для метода не указан модификатор доступа, он называется default
, но для более ранних версий Java 8 такого термина нет. Мы просто называем этот метод в default
scope, но такого ключевого слова неткак default
для модификаторов доступа.
package com.stackOverflow;
import java.util.HashMap;
public abstract class Student {
private String name ;
private String address;
private HashMap<Integer, Integer> testMarks;
public Student(String name,String address) {
this.name = name;
this.address = address;
testMarks.put(1, 0);
testMarks.put(2, 0);
testMarks.put(3, 0);
}
abstract void def();// no access modifier and hence it is in default state
}
package com.stackOverflow.Interface;
import com.stackOverflow.Student;
public class anumal extends Student {
public anumal(String name, String address) {
super(name, address);
// TODO Auto-generated constructor stub
}
public void def() {
System.out.println("hi");
}
}
В приведенном выше примере бот-классы находятся в разных пакетах, и поэтому мы не можем переопределить метод def()
, поскольку он не находится в области видимости.