Java中的封装有什么作用
短信预约 -IT技能 免费直播动态提醒
这篇文章主要讲解了“Java中的封装有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java中的封装有什么作用”吧!
目录
如何实现封装
代码展示
构造方法
注意点:
代码展示
总结
如何实现封装
可以分为两步:
将类的变量声明为private。
提供公共set和get方法来修改和获取变量的值。
代码展示
public class User { private String name; private int age; private int id; private String address; public int getAge(){ return age; } public String getName(){ return name; } public int getId(){ return id; } public String getAddress(){ return address; } public void setName(String Newname){ name = Newname; } public void setAge(int Newage){ age = Newage; } public void setAddress(String Newaddress){ address= Newaddress; }}class Mainclass{ public static void main(String[] args) { User user = new User(); user.setAge(18); user.setName("Kevin"); user.setAddress("江苏"); System.out.println("Name:"+user.getName()+",Age:"+user.getAge()); }}
上面就是一个写好的封装啦 但是有很多用户,很多属性,写起来就很麻烦,下面提供一种一行代码搞定的方法
构造方法
public User{// 方法名与类名同名 没有返回值结构 其他与普通方法无异}
注意点:
对于每个类而言,都默认具有一个隐式的空参数构造方法 如果显式写了任意一个构造方法,空参数构造方法都会被覆盖
代码展示
public class User { private String name; private int age; private int id; private String address; public User(String name, int age, int id, String address) { this.name = name; this.age = age; this.id = id; this.address = address; } public int getAge(){ return age; } public String getName(){ return name; } public int getId(){ return id; } public String getAddress(){ return address; } public void setName(String Newname){ name = Newname; } public void setAge(int Newage){ age = Newage; } public void setAddress(String Newaddress){ address= Newaddress; } public void setId(int Newid){ id = Newid;}}class Mainclass{ public static void main(String[] args) { User user = new User("kevin",18,001,"江苏");//一行代码就能赋值啦 System.out.println("Name:"+user.getName()+",Age:"+user.getAge()); }}
总结
封装的优点
良好的封装能够减少耦合。
类内部的结构可以自由修改。
可以对成员变量进行更精确的控制。
隐藏信息,实现细节。
感谢各位的阅读,以上就是“Java中的封装有什么作用”的内容了,经过本文的学习后,相信大家对Java中的封装有什么作用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341