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 没毛病