在java中,如果没有给变量指定是公有或是私有,默认是什么?

如题所述

1. 类(class)
可见性修饰符: public—在所有类中可见,在其他包中可以用import导入。
缺省—就是没有修饰符,在同一个包中的类中可见,在其他包中不能用import导入。
修饰符:final—终态类,表示该类不能被继承
abstract—抽象类,不能新建对象
2. 变量(variable)
Java中变量有两种,方法变量和字段变量
方法变量只能用一个修饰符:final—表示常量,不能修改
下面是字段变量的修饰符
可见性修饰符:public—在任何类中可见
protected— 在子类中或同一个包中可见
private—只在本类中可见,子类中也不可见
缺省—在同一个包中可见,子类不在一个包中,子类中也不可见
修饰符:static—静态变量,被类的所有实例共享
final—常量,定义后不能修改
*transient—告诉编译器,在类对象序列化的时候,此变量不需要持久保存
*volatile—指出可能有多个线程修改此变量,要求编译器优化以保证对此变量的修改能够被正确的处理
这两带*的不是很常用,但也是Java的修饰符,我也不是很清楚
3.方法(method)
可见性修饰符:public—在任何类中可见
protected—在子类中或同一个包中可见
private—只在本类中可见,子类中也不可见
缺省—在同一个包中可见,子类不在一个包中,子类中也不可见
修饰符: static—静态方法,并不需要创建类的实例就可以访问静态方法
final—常方法,所有子类不能覆盖该方法,但可以重载
abstract—抽象方法,在抽象类中没有实现的方法
native—本地方法,参见Java Native Interface(JNI)
synchronized —在多线程中,synchronized方法调用时,其他所有方法不能调用该方法
3. 接口(interface)
可见性修饰符:public—所有类中可见
缺省—同一个包中可见
接口中的变量总是需要定义为“ public static final 接口名称”,但可以不包含这些修饰符,编译器默认就是这样

接口中的方法只能使用public和abstract修饰符
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-09
变量访问权限:(默认的为friendly)
public 公共:
private 私有:只允许本类内部访问
protect 受保护:同一个包的类,及其子类可以访问
friendly 友好(默认的):此时只允许同一个包内的类访问本回答被提问者采纳
第2个回答  2011-04-19
默认是包内私有的,即当前包中的类可以访问到他,其他包中的类无法访问到他
第3个回答  2011-04-07
是public的,所以根据设计原则,类成员最好是私有的,这样才安全。所以声明变量要在变量前加private
第4个回答  2011-04-07
在public类体下边的都是public;
在private类下的都是private;
在主函数下边的都是静态的.

在java中,如果没有给变量指定是公有或是私有,默认是什么?
1. 类(class)可见性修饰符: public—在所有类中可见,在其他包中可以用import导入。缺省—就是没有修饰符,在同一个包中的类中可见,在其他包中不能用import导入。修饰符:final—终态类,表示该类不能被继承 abstract—抽象类,不能新建对象 2. 变量(variable)Java中变量有两种,方法变...

java类中变量如果定义时没给访问权限默认是什么啊?
如果没有写就是默认访问权限。java的类有2种访问权限,public、默认 而方法和变量有4种:public、默认、protected、private 其中默认访问权限和protected很相似,有着细微的差别。public意味着任何地方的其他类都能访问 默认则是同一个包的类可以访问。protected表示同一个包的类可以访问,其他的包的该类的...

JAVA中的成员变量不赋值默认是0吗?
一个变量作为类成员使用的时候,如果没有被初始化,java会为其分配默认值:Boolean false Char '\'(null)byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d 如果在一个方法中定义一个变量,java不会给其分配默认值,就必须我们来给他初始化,否则将得到编译错误的提...

java中定义变量不写作用域修饰符默认是什么类型的?
默认是friendly 就是同一个包内的类可以不用导入直接访问该成员变量,而且他包的类必须导入后才能访问。

java中缺省是什么意思
Java中缺省是指没有指定某个变量或方法的具体值或实现方式,由系统自动分配默认值或实现方式。例如,没有初始化的int变量会被默认赋值为0,而没有指定访问修饰符的变量或方法会默认为包级私有。Java中的缺省还常用于定义接口或抽象类,用于指定一些必要的方法或属性,但不具体实现具体逻辑。这样子类或实现...

在java中创建一个类的时候,如果前面不写public ,那么这个类会被默认成...
我明白你的意思~ 但是你问的不是很恰当,方法没有默认的修饰符。先看看我的解释吧。修饰符有public、protected、private,当然还有缺省的(default)修饰符,缺省的就是方法名前无任何修饰符。缺省的(也就是你认为的默认修饰符)修饰符的访问权限都不同于public、protected、private所修饰的方法。所以访问...

java接口里的变量不写访问修饰符默认的是什么修饰符?
接口里面默认的是public abstract。也正因为默认就是public abstract,所以一般建议就是在接口内直接写方法:void(根据返回值类型设置啊) 方法名 ();void methodname ();

在Java和c#中如果不写访问修饰符,类和类成员默认的是什么访问修饰...
省略类的访问修饰符,默认为internal 省略类成员的访问修饰符,默认为private

java的类中成员变量前的私有和公共有什么区别
私有和公有访问权限的意思:私有的,除了自己(本类),任何人(其它类)都不能直接访问。公有的,任何人都可以直接访问。之所以限制了“直接”,是有时候可以间接访问。其它类 访问类或对象x的成员y 的语法:x.y 例如我写个usertest类main中代码:...user.name = "zhang";system.out.println(user....

Java中private,protected,public和default的区别
默认:默认可以称为friendly但是,Java语言中是没有friendly这个修饰符的,这样称呼应该是来源于c++。默认的访问权限是包级访问权限。即如果写了一个类没有写访问权限修饰符,那么就是默认的访问权限,同一个包下的类都可以访问到,即使可以实例化该类 (当然如果这个类不具有实例化的能力除外,比如该类...

相似回答