本版精华帖子里面有一题是这样的
0、作用域public,private,protected,以及不写时的区别
答:区别如下:
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
请问 不写的时候默认为friendly?有friendly这个作用域吗???我自己写了个小程序测试了一下:
public class A extends BB{
int a;
public static void main(String[] args) {
A aa = new A();
aa.a = aa.friend; //很明显 A 继承了BB ,BB的friend是默认的作用域,但是对他的子类A仍然可见。
}
}
class BB {
int friend;
}
很明显 A 继承了BB ,BB的friend是默认的作用域,但是对他的子类A仍然可见
请问,到底是我错了还是这道题目错了
0、作用域public,private,protected,以及不写时的区别
答:区别如下:
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
请问 不写的时候默认为friendly?有friendly这个作用域吗???我自己写了个小程序测试了一下:
public class A extends BB{
int a;
public static void main(String[] args) {
A aa = new A();
aa.a = aa.friend; //很明显 A 继承了BB ,BB的friend是默认的作用域,但是对他的子类A仍然可见。
}
}
class BB {
int friend;
}
很明显 A 继承了BB ,BB的friend是默认的作用域,但是对他的子类A仍然可见
请问,到底是我错了还是这道题目错了
默认的域或者方法是具有包可见性,因为你的A和BB在同一包下,所以没有问题,可以访问。