下面是具体的例子:package com.niit;public class SurperClass {private void priMethod() {System.out.println("private method invoked");}void defMethod() {System.out.println("default method invokde");}protected void proMethod() {System.out.println("protected method invoked");}public void pubMethod() {System.out.println("public mehtod invoked");}}
package com.niit.test;import com.niit.SurperClass;/* * protected的意思是本包可以访问..子类可以继承.. */public class SubClass extends SurperClass {public static void main(String[] args) {SubClass sc = new SubClass();sc.priMethod(); //private的方法不可见sc.defMethod(); //default 的方法不可见sc.proMethod(); sc.pubMethod();SurperClass s = new SurperClass();s.priMethod(); //private的方法不可见s.defMethod2(); //default的方法不可见s.proMethod(); //protected的方法不可见s.pubMethod();}}
可以得出以下结论: