java - 面試題:請問,以下哪些修飾符可以使其修飾的變量只能對同包類或子類有效?
問題描述
如題這個答案正確嗎?
package com;public class TestParent { protected String protectedStr='protected'; String defaultStr='default'; private void method() { } void abm(){ } protected void proabc(){ }}
package com;public class TestSon extends TestParent{ private void test(){}}
package com;class Main { static public void main(String[] args) {TestParent parent = new TestParent();TestSon son = new TestSon();parent.abm();//default method son.abm();//default method System.out.println(parent.protectedStr);System.out.println(parent.defaultStr);// -------------parent.proabc(); //protected method son.proabc(); //protected method System.out.println(son.protectedStr);System.out.println(son.defaultStr); }}
問題解答
回答1:作用域當前類當前包子孫類其他包public√√√√protected√√√×friendly√√××private√×××不寫默認就是 friendly.
選 C 沒毛病
