JAVa类中默认的成员变量的访问权问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 √ × × ×
参考技术A 默认的话,与该类在同一包下得其他类以及该类的子类都可以访问成员变量 参考技术B 默认成员变量的有包访问权限,java有四种访问权限,private、默认的(default)、protected、public 参考技术C 在子类中也可以访问 参考技术D 1、public:烂大街的武功, 江湖中人全都可以练
2、private:只有我族掌门可以修炼的武功
3、protected:内家子弟可以参悟, 外家子弟不可修炼
4、default: 族内的内家及外家子弟都可以修炼。

java基础复习

public class java3 {
static String s1="你哈";
//在类中定义的成员变量boolean默认为false
//在类中定义的成员变量int默认是0
//在类中定义的成员变量double默认是0.0
//在类中定义的成员变量char默认是空
char p;
public void des(){
System.out.println(p);

}
public static void main(String[] args) {
java3 java3=new java3();
java3.des();
String s2="我啊";
System.out.println(s1);
System.out.println(s2);
//整数
byte a=30;//8位
short b=30;//16位
int c=30;//最常用,32位
long d=30L;//后边需要加上一个L,64位
//小数
float e=30.548858f;
double f=40.54788875;//java中默认的小数类型为double类型
//字符类型
char g=‘a‘;
//boolean类型
boolean s=false;
// 可以打印出x的字符,也就是在ascii中排行97的字母打印出来
char x=97;
System.out.println(x);
char k=‘@‘;
System.out.println((int)k);
boolean n;
n=true;
System.out.println(n);

}
}

以上是关于JAVa类中默认的成员变量的访问权问题的主要内容,如果未能解决你的问题,请参考以下文章

java成员变量和局部变量的区别

java当中成员变量和局部变量的区别

如果在类中的成员没有加修饰符,则被认为是private的

Java第二天

Java中成员属性默认访问修饰符是啥

java中成员变量和局部变量的区别