一篇文章带你入门Java封装
作者:Wxbbbbb
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()); } }
总结
封装的优点
- 良好的封装能够减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员变量进行更精确的控制。
- 隐藏信息,实现细节。
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注脚本之家的更多内容!