java类里的默认数据类型 是public还是private还是protected
java的访问权限有下面四种:
public–都可访问(公有)
protected–包内和子类可访问(保护)
不写(default)–包内可访问 (默认)
private–类内可访问(私有)
a是default类型
意外的发现,java中,是不是无法import默认包中的类
非默认包是可以调用到默认包里的类的。这里要用到反射。比如:
在默认包里有个类:
public class DefaultPackage {
public void disp(){
System.out.println(“Hello World!”);
}
}
而如果你想再包test下的类中调用disp()方法可以这样:
package test;
import java.lang.reflect.*;
public class TestDefaultPackage {
public static void main(String[] args) throws Exception{
Class c = Class.forName(“DefaultPackage”);
Method m = c.getDeclaredMethod(“disp”, null);
m.invoke(c.newInstance(), null);
}
}
java中方法的默认访问权限是什么
Java中默认权限为包权限。若是类声明为默认权限,则同一个包下的类都可以访问到该类,并可以实例化该类(当然如果这个类不具有实例化的能力除外,比如该类没有提供public的构造函数);若是成员变量或成员方法声明为默认权限,则其是包级可见
java中在一个包中如何引用默认包中的类
java在一个包中引用默认包中的类,需要使用import关键字,导入所需的包,就可以直接使用该包下的类,实例如下:
import secondpackage.ceshi2;//导入默认的包
public class ceshi {
public static void main(String[] args) throws Exception {
ceshi2 ce = new ceshi2();//默认的包中的类
ce.fun();
}
}
运行结果如下:
JAVa类中默认的成员变量的访问权问题
java作用域public ,private ,protected 及不写时的区别
在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
4、default 则在包内包外的子类都可见。
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×