用什么函数返回变量的类型
protected int i=10;不加protected默认是什么访问级别,是public ,protected,private 还是什么,protected是应该是不允许包内访问啊,他是允许别的类继承protected控制的函数啊。那么应该还有个允许包内访问的控制符是什么?但是程序运行后他允许包内访问。还请大家帮忙解答下。
我要让变量i的返回值是int,用什么函数;如果i为int,返回true,用什么函数。
先谢谢大家了,我是新手,大家帮下忙。
import java.util.*;
public class charExample
{
public static void main(String args[])
{
Number n1=new Number();
Number n2=new Number();
n1.i=5;
System.out.println(new Date());
System.out.println(n1.i);
System.out.println(n2.i);
}
}
class Number{
protected int i=10;
}
----------------解决方案--------------------------------------------------------
不加的话,是friend级别。
----------------解决方案--------------------------------------------------------
我把friend加上去报错啊 。
class Number{
friend int i=10;
}
就是 默认是friend,为什么会报错呢?
不加就不允许包外访问。加protected允许包内访问。是这样吗?
----------------解决方案--------------------------------------------------------
friend 在Java中没有这个词的,这个只能意会,不能用。
----------------解决方案--------------------------------------------------------
恩,也不是public,那就是在private和public级别中间的,等我以后慢慢理解把。谢拉
----------------解决方案--------------------------------------------------------
找到了。访问权限从松到紧依次是:public,protected,package,private.
也没看到friend.郁闷~!!!
package就是一个包。mx是我建的个folder的名字.
package mx;
import java.util.*;
public class charExample
{
public static void main(String args[])
{
Number n1=new Number();
Number n2=new Number();
n1.i=5;
System.out.println(new Date());
System.out.println(n1.i);
System.out.println(n2.i);
}
}
class Number{
int i=10;
}
----------------解决方案--------------------------------------------------------
我昏,下面的代码测试后怎么protected控制的放在包外也可以访问,放在包内也可以访问啊。和public权限一样呢。区别到底是什么啊 ,给个例子啊
test.java:
public class test {
protected int k=20;
}
testover.java:
public class testover {
public static void main(String args[])
{
test n3=new test();
System.out.println(n3.k);
}
}
----------------解决方案--------------------------------------------------------
发现区别,这样protected就访问不了,呵呵
test.java:
package mx;
public class test {
protected int k=20;
}
testover.java:
import mx.test;
public class testover {
public static void main(String args[])
{
test n3=new test();
System.out.println(n3.k);
}
}
----------------解决方案--------------------------------------------------------
protected 是类,子类和包 而且java里面的所谓访问是可以对实例对象相联系的..个人理解
----------------解决方案--------------------------------------------------------
访问是和实例和函数相连接的.
我就发现了protected和public这点区别。放包里就可以看出来。
不知道还有别的区别没。小弟才疏学浅,还望指教。
----------------解决方案--------------------------------------------------------