首页 / JAVA / java 封装性 引入传递
java 封装性 引入传递
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java 封装性 引入传递,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2090字,纯文字阅读大概需要3分钟。
内容图文
![java 封装性 引入传递](/upload/InfoBanner/zyjiaocheng/644/4d4a02750dc54b9aa6478a6881bd0f6a.jpg)
1.引用传递是java精髓,核心概念只有一点:一块堆内存空间(保存对象的属性和信息)可以同时被多个栈内存所共同指向,则每一个栈内存都可以修改同一块堆内存空间的属性值.
引用传递的核心只有一句话:“一块堆内存空间(保存对象的属性信息)可以被同时多个栈内存所共同指向,则每一个栈内存都可以修改同一块堆内存空间的属性值”.
1.1下面代码讲解
运行结果
首先实例化了一个person2对象,对对象name和age属性赋值,随后又声明了person3对象,这个对象指向person2对象的堆内存空间,所以person3和person2指向了同一个堆内存空间,这样person3对name属性的修改也一定影响到person2对象.
1.2.代码讲解
代码运行结果
本程序实例化了两个对象,分别为两个对象的属性赋值,而后将person1的堆内存传递给了person2,此时person2和person1将指向同一堆内存空间,当使用person2对象修改name属性的内容后,person1的内容也随之发生改变,
2.java封装性
下面代码讲解
加入了private关键字之后,发现Person类的外部将无法直接利用对象调用类中的属性,并且在编译就提示语法错误,在java开发中,如果要访问类的私有属性,需要按下形式定义操作方法.
setter(以"private String name"属性为列):public void setName(String n);
getter((以"private String name"属性为列)public void getName();
2.1代码讲解
在类属性中定义setter()、getter()操作方法目的是为了设置和取得属性的内容,也许某一个操作暂时不使用取得操作、但并不表示以后不会使用,所以必须全部提供,在以后定义类的时候,所有属性都要编写private封装,封装之后属性如果需要被外部操作,要编写setter()、getter()方法。
package lesson11;
class Person3{ //类名称首字母大写
private String name; //属性封装
private int age; //属性封装
void setName(String n){ //setter:设置name属性内容
name =n;
}
void setAge(int a){ //setter:设置age属性内容
if(a>0 && a<250){ //增加检查
age=a;
}
}
public String getName() { //getter:取得name属性内容
return name;
}
public int getAge() { //getter:取得age属性内容
return age;
}
public void tell(){
System.out.println("姓名:"+name+",年龄:"+age);
}
}
public class TestDeamo13 {
public static void main(String[] args) {
Person3 person=new Person3(); //声明并实例化对象
person.setName("芷若");
person.setAge(18);
person.tell();
}
}
运行结果
内容总结
以上是互联网集市为您收集整理的java 封装性 引入传递全部内容,希望文章能够帮你解决java 封装性 引入传递所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。