java访问私有成员
本文通过反编译内部类的字节码,说明了内部类是如何访问外部类对象的成员的,除此之外,我们也对编译器的行为有了一些了解,编译器在编译时会自动加上一些逻辑,这正是我们感觉困惑的原因。关于内部类如何访问外部类的成员,分析之后其实
‘贰’ java中如何调用私有变量或方法
private关键字
(1)私有的意义,可以修饰成员变量和成员方法
(2)特点:
被private修饰的后的成员只能在本类中被访问
(3)private的应用:
以后再写一个类的时候:
把所有的成员变量给private了
提供对应的getXxx()/setXxx()方法
/*
封装和private的应用:
A:把成员变量用private修饰
B:提高对应的getXxx()和setXxx()方法
*/
//定义学生类
class Student {
//姓名
private String name;
//年龄
private int age;
//姓名获取值
public String getName() {
return name;
}
//姓名设置值
public void setName(String n) {
name = n;
}
//年龄获取值
public int getAge() {
return age;
}
//年龄赋值
public void setAge(int a) {
age = a;
}
}
//测试类
class StudentTest {
public static void main(String[] args) {
//创建学生对象
Student s = new Student();
//使用成员变量
//错误:被私有修饰了,外界不能直接访问了
//System.out.println(s.name+"---"+s.age);
System.out.println(s.getName()+"---"+s.getAge());
//给成员变量赋值
//s.name = "林青霞";
//s.age = 27;
//通过方法给赋值
s.setName("林青霞");
s.setAge(27);
System.out.println(s.getName()+"---"+s.getAge());
}
}
‘叁’ JAVA如何调用类的私有成员public和private如何区分使用!!!!
若是调用私有变量,则可以在类中定义get()方法,即返回值就是你想得到的那个变量。Java中一般把变量(属性)定义成私有的,把方法定义成公有的。public定义的属性或方法在子类中可以调用,而private定义的属性或方法在子类中不可以调用。
‘肆’ ****JAVA中类的对象为何可以调用该类的私有成员
当然可以
私有成员,就是供本类使用的类型,其他类是看不到的啊
java中
类的对象的创建也是有范围的,不是都可以创建的!!
在java中,即使别的类
得到了该类的对象,也是无法访问该类的私有成员的!私有成员,只供本类使用
‘伍’ java中如果有一个A类,怎样从b类访问a中的私有成员变量
您好,提问者:
如果这个类的成员、方法定义为private只支持本类访问。
public、protected、defualt(默认不写)继承、同包是都可以访问到的。
可以封装成方法,对外暴露,例如:
publicclassTest{
privateStringname;
//提供公共的赋值方法
publicvoidsetName(Stringname){
this.name=name;
}
//提供公共的获取方法
publicStringgetName(){
returnname;
}
}
‘陆’ java中私有成员的调用
私有成员只能在本类中调用,在本类以外一律都看不到.如果要在其他类中获得私有成员变量,那么可以在本类中写一个public的get方法,其他类就可以通过调用这个get方法获得私有成员变量.
class PrivateTest(){
private String str = "私有成员变量";
//如果加上这个方法
public String getStr(){
return str;
}
public static void main(String[] args){
System.out.println(str);//这里可以调用到str变量
}
}
class OtherClass(){
PrivateTest pt = new PrivateTest();
public static void main(String[] args){
String tryToGet = pt.str;//这句编译会报错,str不可见
String getStr = pt.getStr();//这样 就可以获取到str的值
}
}
‘柒’ java中我定义了两个类,想在其中一个类方法中访问另一个类的私有成员,如何实现
即然那个类中的是私有成员,要是用另一个类去访问是不可能访问到的,就像你的钱包里的钱我能花吗?
要是想访问只有调用set或get方法调用!意思就是如果我们是好朋友,叫你给我一点钱的话,你就从你的钱包里拿给我!
‘捌’ Java main函数为什么可以访问对象的私有成员变量
1、Java main函数之所以可以访问对象的私有成员变量,是因为这个对象的成员变量提供了获取成员变量的方法即get方法,这样main方法就可以通过创建出这个对象,再通过这个对象调用get方法来访问这个私有成员变量;
2、接下来通过一个例子来进一步的解释:
首先创建一个包含私有成员变量的类,如下:
publicclassDemo2{
privateinta=1;
publicintgetA(){//提供get方法
returna;
}
}
其次创建包含main的类,如下:
publicclassDemo1{
publicstaticvoidmain(String[]args){
Demo2demo2=newDemo2();//创建对象
System.out.println(demo2.getA());//通过对象调用get方法访问私有成员变量
}
}
这样就通过创建的对象的get方法来访问到了对象的私有成员变量了。
‘玖’ java中,子类不可以访问父类的私有成员和受保护的成员。对 错
错误!具体访问修饰符的作用范围见下:
同一个类
同一个包
子类
其他
private
是
default
是
是
protected
是
是
是
public
是
是
是
是
希望对你有所帮助!