java基础知识 面向对象(二)1.对象的引用传递 2.访问控制

1.对象的引用传递

类属于引用数据类型,引用数据类型就是指内存空间可以同时被多个栈内存引用。接下来通过一个案例为大家详细讲解对象的引用传递

public class Student {
    String name;
    int age;
    void read(){
        System.out.println("大家好,我是"+name+"年龄"+age);
    }
}
public class Example02 {
    public static void main(String[] args) {
        Student stu1=new Student();//声明stu1对象并实例化
        Student stu2=null;//声明stu2对象,但不对其进行实例化
        stu2=stu1;//stu1给stu2分配空间使用权
        stu1.name="小明";//为stu1对象赋值
        stu1.age=20;
        stu2.age=50;
        stu1.read();
        stu2.read();

    }
}

运行结果

上面代码内存分配图如下

 stu1对象为stu2对象分配使用权,stu1和stu2指向同一内存

 

 

通过stu2修改age属性的值。

 

注意

 一个栈内存空间只能指向一个堆内存空间,如果想要再指向其它堆内存空间,就必须先断开已有的指向才能分配新的指向。

2.访问控制

针对类、成员方法和属性,Java提供了4种访问控制权限,分别是private、default、protected和public。

4种访问控制权限,具体介绍如下。(从小到大)

(1)private(当前类访问级别):private属于私有访问权限,用于修饰类的属性和方法。类的成员一旦使用了private关键字修饰,则该成员只能在本类中进行访问。

(2)default:如果一个类中的属性或方法没有任何的访问权限声明,则该属性或方法就是默认的访问权限,默认的访问权限可以被本包中的其它类访问,但是不能被其他包的类访问。

(3)protected:属于受保护的访问权限。一个类中的成员使用了protected访问权限,则只能被本包及不同包的子类访问。

(4)public:public属于公共访问权限。如果一个类中的成员使用了public访问权限,则该成员可以在所有类中被访问,不管是否在同一包中

访问控制权限

访问范围

privatedefaultprotectedpublic

同一类中

同一包中的类

不同包的子类

全局范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩气长存在心中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值