java中封装
、什么是封装?
封装就是将属性私有化,提供公有的方法访问私有属性。
做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问。
如:private String name;
public String getName(){
return;
}
public void setName(String name){
this.name=name;
}
2、 为什么需要封装?
通过封装,可以实现对属性的数据访问限制,同时增加了程序的可维护性。
由于取值方法和赋值方法隐藏了实现的变更,因此并不会影响读取或修改该属性的类,避免了大规模的修改,程序的可维护性增强。
3、 this关键字是什么意思?
有时一个方法需要引用调用它的对象。为此,java定义了this这个关键字。简单地说,
This是在对象内部指代自身的引用。可以直接引用对象,可以解决实例变量和局部变量之间发生的任何同名的冲突。
4、 如何实现封装,实现封装的具体方法?
)、修改属性的可见性来限制对属性的访问。
)、为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。
)、在赋值和取值方法中,加入对属性的存取的限制。
、什么是构造方法?构造方法的语法规则?
构造方法负责对象成员的初始化工作,为实例变量赋予合适的初始值。
构造方法的语法规则:方法名与类名相同。没有返回类型。
使用new关键字实例化对象的过程实际上就是调用构造方法的过程。或者说实例化一个对象实际上就是去调用这个对象的构造方法。
Xin xin=new Xin();
在实例化对象的时候,已经实例变量赋予了初始值,完成了对象的初始化工作。
6、 为什么需要构造方法?
为属性赋值时,很容易忘记对其中的一项或多项进行赋值。构造方法可以简化对象初始化,为实例变量赋值。
7、 带参数的构造方法:可以显示地为实例变量赋予初始值。在不同的条件下创建不同的对象,这些对象的实例变量具有不同的值。
注意:在使用带参数的构造方法实例化对象时,传递的值和构造方法的参数应当在个数、次序和数据类型上相互配备。
通过调用带参数的构造方法,在创建对象时,一并完成了对象的初始化工作,简化了对象初始化的代码。
8、 什么是方法重载?
方法名称相同,参数项不相同。那么认为一个方法是另一个方法的重载方法。
注意:重载只跟参数有关,与返回类型无关。方法名和参数相同而返回类型不相同,不能说是重载。
典型的方法重载:System.out.println(); Sysstem.out代表了一个java.io.PrintSteam对象,具有多个println(打印)方法,该方法可以接收不同类型的数据作为参数根据类型不同,
调用不同的打印方法。
在java.lang包中的Math类中的max方法。
Public static int max(int a,intb);
Public static int max(long a,long b);
Public static int max(float a,float b);
Public static int max(double a,double b);
在调用方法之前,java虚拟机先判断给定的类型,然后决定到底调用执行那个max()方法。
9、 什么是构造方法重载?
构造方法重载是方法重载的一个典型的特例。参数列表不同。
可以通过重载构造方法来表达对象的各种多种初始化行为。也就是说在通过new语句创建一个对象时,可以实现在不同的条件下,让不同的对象具有不同的初始化行为。
Private String name;
Private String sex;
Public Xin(String name){
this.name=name;
}
Public Xin(String name,String sex){
this.name=name;
this.sex=sex;
}
java中封装的更多相关文章
- JAVA中封装JSONUtils工具类及使用
在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...
- java中封装,继承,多态,接口学习总结
### 一:封装java中封装是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通 ...
- Java中封装性的使用
//Java面对对象基本特性之一:封装性 //作用:保护某些属性和方法不被外部所看见 //封装的实现:通过关键字private声明 //鼠标右键--->Source---->Generat ...
- Java中封装、继承和多态
封装: 封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度. 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性. 访问修饰符有public,private,prot ...
- 在JAVA中封装JSONUtil工具类及使用
在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...
- c#和java中封装字段的不同
c#: private String name; public String Name { get { return name; } set { name = value; } } .csharpco ...
- Java中封装类型.valueOf()
@Test public void test() { Integer i3 =128; Integer i4=128; boolean integerGT127=i3==i4; //false Sys ...
- 在JAVA中封装JSONUtils工具类及使用 (转)
import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util. ...
- java中封装的使用方法(工具myeclipse)
封装可以实现属性私有化,将类的属性修饰符由public改为private,如此做者,其他类就无法访问该类中被private修饰的对象,一般我们会使用setter/getter()方法实现对这些对象的访 ...
随机推荐
- Sql Server触发器案例(初学者学习案例)
万事都是从最简单的一句“hello world”开始,所以我接下里介绍的sql触发器学习案例也从最简单的案例来说明分析: 1.首先创建表,这几张表你们也许很熟,在百度搜触发器案例都是使用这2张表 Cr ...
- ASP.NET入门(1) - 建立和开发ASP.NET 5 项目
原文转载自:http://www.cnblogs.com/zergcom/p/4493358.html 建立项目 首先,目前只有VS 2015支持开发最新的ASP.NET 5 程序,所以我们首先需要下 ...
- SQL Server之内连接 左连接 右连接 全连接 交叉连接
SELECT * FROM Table_A GO SELECT * FROM Table_B GO --内连接 SELECT a.*, b.* FROM Table_A a JOIN Table_B ...
- Ubuntu15.10使用mysql
安装 sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysql ...
- Centos7.5 java环境的安装配置
1.查看系统中的java环境 [root@localhost ~]# java -version openjdk version "1.8.0_101" OpenJDK Runti ...
- NIS客户端限制用户登录
公司所有账号信息由一台 NIS Server 统一管理,但是有几台 NIS Client 只允许某几个用户登录.这里通过PAM机制来实现该需求. 1. 需要配置的文件 (/etc/pam.d/目录下) ...
- 51nod 约数和(数论)
题目链接: 约数和 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 有三个下标从1到n的数组a.b.c. a数组初始全为0. b[i]=∑j|ia[j] c[i]=∑j|ib[j] ...
- 自定义UISearchDisplayController中搜索到结果的cell的位置
#pragma mark - UISearchBarDelegate//当搜索文本被改变的时候调用 - (void)searchBar:(UISearchBar *)searchBar textDid ...
- Angularjs 中使用指令绑定点击事件
项目中,模板中的菜单是jQuery控制的,在Angularjs中就运行不到了,因为菜单项是ng-repeat之后的. 如html <ul id="main-menu"> ...
- .NET P****** CMS 逆向工程
(应一些园友建议,我把敏感字段去掉) 其实当初我的目的是很纯洁的,只是想找一个简单的网站生成模板,由于对.net更熟悉一点,就去搜索了.net框架的CMS,看它的介绍挺强大的,符合最初的目的,但是下下 ...