正文
java封装属性代码 java封装的含义
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
谁能用段代码给我解释下java的封装啊?
public class Man {
//这里是对属性java封装属性代码的封装java封装属性代码,一个人的姓名,年龄,妻子都是这个对象(人)的私有属性
private String name;
private int age;
private Woman wife;
//这里是对改人对外界提供方法的封装,可以设置改男人的妻子,姓名,年龄也可以获取改男人的姓名和年龄
public void setWife(Woman wife) {
this.wife = wife;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Woman {
//同样这里是属性封装
private String name;
private int age;
private Man husband;
//方法封装
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Man getHusband() {
return husband;
}
public void setHusband(Man husband) {
this.husband = husband;
}
}
/**
* 仔细看就会发现,Man类没有提供getWife的方法,这是以为男人不想让自己的妻子被外界访问,
*
* 直接下来呢,就是封装可以吧一个对象的属性私有,而提供一些可以被外界访问的属性的方法,
*
* 比如说,name属性,Man和Woman类都有相应的get和set方法,外界都可以通过这些方法访问和修改
*
* 同时对一些改对象不想让外界访问的属性,就不提供其方法,比如说Man的wife属性,就没有get方法
*
* 外界是不能带到Man类的wife属性的
*
* 呵呵
* 奇怪的是Woman类有husband的get方法,这就是封装的一点,还有的其java封装属性代码他朋友也说到java封装属性代码了
*/
Java里的封装到底是什么意思,请举例说明?
封装:是指隐藏对象java封装属性代码的属性(成员变量)和实现细节(方法)java封装属性代码,仅对外提供公共访问方式。
好处java封装属性代码:
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性。
封装原则:
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
常见封装 :
成员变量封装---
private 数据类型 xxx ;
private关键字:
是一个权限修饰符。
可以修饰成员(成员变量和成员方法)
被private修饰的成员只在本类中才能访问。
例如:
class show(){
private String name;//其他类无法访问当前私有成员
public String getName(){//可以通过public修饰的方法访问name
return this.name;
}
}
java封装属性 数组
这段代码也是醉了,你存入list应该是一个对象Person,
而你给一组数组赋值我也是没搞懂你的意思,
你这样写代码能存入list集合的只是一个Person对象,而你给对象字段赋值的语句就只有p.name = s.next(); p.pingjun = (rr / (a.length - 1)) + "";,只有2个属性付了值,其他的没有赋值是null;
一个构造器给Person的数组赋值?一个长度20的字符空数组,然后你给w数组赋值,那么你这样子赋值你以为可以影响到Person的值?w[i] = u + "";这句代码,与Person对象没半毛钱关系,对象引用都没有怎么赋值,
你最后打印的是Person对象的字段,而你存入一个空数组,然后把string类型字段的原始属性给一个数组,Person(String r[]) {
r[1] = this.yuwen;
r[2] = this.shuxve;
r[3] = this.wuli;
r[4] = this.waiyu;
r[5] = this.huaxve;
}
这有啥用,我很好奇你这个r数组也不是类中的字段,你给他付了null的值,你给他传入的是长度20的数组,后面还有15个长度呢,不管这个,关键是这个数组啥用也没有除了浪费内存
下面这段代码中list.add(p);,你把Person 对象存入list,此时的Person 对象被赋值的就只有2个字段,你给w,r数组的值无法影响到Person 对象,且这个方法执行完毕后,也会被清理掉因为没有被引用到
这个时候可以回答你的问题了,为什么你输入的分数显示都是null:
因为他都没被赋值到Person 的成员变量上面,没被赋值的成员变量的String值是null,容易你打印Person 未被赋值的成员变量的值,就是null;
String r[] = new String[a.length - 2];
String w[] = new String[20];
int rr = 0;
Person p = new Person(w);
p.name = s.next();
for (int i = 1; i a.length - 1; i++) {
int u = s.nextInt();
w[i] = u + "";
r[i - 1] = u + "";
rr += u;
}
p.pingjun = (rr / (a.length - 1)) + "";
list.add(p);
在Java程序中,代码封装带给我们的好处是什么?
说给人家听,我们就说的通俗简单点: 代码封装的好处:第一点在于安全,JAVA中类的一个属性,我们一般会在类中将其私有化然后getter和setter方法对外提供得到和设置的方法,这就好比自动存提款机,钱就是我们要的属性,要的数据,放在那直接去拿可以吗?很明显不行,所以自动存提款机提供了取钱的方法和存钱方法,而你不用知道钱从哪来要到哪里去。第二点在于方便:方法也是封装的一种体现,有一个功能我们要反复调用,每次写同样的代码吗?答案很明显,不要!,我们写个方法,把这段功能代码封装成一个方法,需要的时候调用方法名就可以了,不是吗? 关于package:如果一个项目很大的话,会分成很多小组,每个小组会有很多开发人员,大家在编写代码时说不定会出现同样的类名,问题就来了,我在调类的时候,调的是哪个?所以每个小组用不同的包名,这样来区分类所在的位置。好,如果你说项目编码之前详细设计说的很清楚了,类不可能出现同名,那么包的另外一个好处在于相似用途的类放在一个包下可以方便管理和查找,比如java.util包,如查没有包的存在,我想查API看有哪些集合框架,你说方便不 权限修饰符的作用就是:你很有钱,你愿意告诉谁你很有钱需要的时候可以来找你,你的亲属?你的儿子?还是全世界的所有人?你自己有必要告诉谁 那么他们缺钱的时候就会想到你
java 封装和构造方法求代码
java里面构造方法和封装属性的区别有如下几点:
1、构造方法的参数用来创建对象时初始化变量,属性的封装可以用来设置属性的值,和获取属性的值;
2、构造方法是没有返回值的,而属性的设值室友返回值的。
JAVA封装属性
实际上 使用getter和setter是一种封装的格式!
他的作用其实是为了配合private在对类的属性进行隐藏的同时,提供获得和修改类属性的方法!
而实际上,是否需要用这种方式隐藏数据,他并不是绝对的,所以很多时候,我们都会有选择性的使用这样的方式!如果getter和setter都需要,为了方便,我们可以选择使用public修饰变量,这样的话,访问起来更加方便!
java封装属性代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java封装的含义、java封装属性代码的信息别忘了在本站进行查找喔。