、什么是封装?

封装就是将属性私有化,提供公有的方法访问私有属性。

做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(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中封装的更多相关文章

  1. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  2. java中封装,继承,多态,接口学习总结

    ### 一:封装java中封装是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通 ...

  3. Java中封装性的使用

    //Java面对对象基本特性之一:封装性 //作用:保护某些属性和方法不被外部所看见 //封装的实现:通过关键字private声明 //鼠标右键--->Source---->Generat ...

  4. Java中封装、继承和多态

    封装: 封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度. 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性. 访问修饰符有public,private,prot ...

  5. 在JAVA中封装JSONUtil工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  6. c#和java中封装字段的不同

    c#: private String name; public String Name { get { return name; } set { name = value; } } .csharpco ...

  7. Java中封装类型.valueOf()

    @Test public void test() { Integer i3 =128; Integer i4=128; boolean integerGT127=i3==i4; //false Sys ...

  8. 在JAVA中封装JSONUtils工具类及使用 (转)

    import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util. ...

  9. java中封装的使用方法(工具myeclipse)

    封装可以实现属性私有化,将类的属性修饰符由public改为private,如此做者,其他类就无法访问该类中被private修饰的对象,一般我们会使用setter/getter()方法实现对这些对象的访 ...

随机推荐

  1. 0. SQL Server监控清单

    数据库服务器的监控可大致分为两类: (1) 状态监控:数据库服务器有没有在健康地运行? (2) 性能监控:健康运行的同时,有没有性能问题?可不可以更快些? 一. 服务器 1. 状态监控 (1) 服务器 ...

  2. [转]Displaying standard DataTables in MVC

    本文转自:http://stackoverflow.com/questions/2243898/displaying-standard-datatables-in-mvc Controller act ...

  3. VC++ UTF-8与GBK格式转换

    // 注释:多字节包括GBK和UTF-8 int GBK2UTF8(char *szGbk,char *szUtf8,int Len) { // 先将多字节GBK(CP_ACP或ANSI)转换成宽字符 ...

  4. 剑指Offer22 判断数组是否为某二叉搜索树的后序遍历

    /************************************************************************* > File Name: 22_Sequen ...

  5. CENTOS如何禁用ROOT本地或远程SSH登录

    下面详细描述如何禁止root登录. 禁止root本地登录 禁止root远程ssh登录 禁止root本地登录 修改/etc/pam.d/login文件增加下面一行   1 auth required p ...

  6. 使用secureCRT连接VMware-Ubuntukylin虚拟机

    使用SecureCRT连接VMware时总是提醒主机拒绝连接.这时可以使用sudo apt-get install openssh-server openssh-client,在主机上安装ssh. 安 ...

  7. 让文字在标签li的底部

    <ul> {aspcms:navlist type=6 } <li style="border-bottom:1px solid #d4d4d4;padding-top:2 ...

  8. Jquery 根据value值设置下拉列表(select)默认选中项

    方法一: $("#selIndustyType option[value='1']").attr("selected", "selected" ...

  9. CSS之上边栏

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  10. Python Opearte MS-SQL Use Pymssql

    看到很多的开源数据库会用到MySQL,Python同样也使用,但是我已经习惯使用图形化界面,操作感极强的MS-SQL 看到Python也提供MS-SQL连接方式,需要用到PyMssql. 在Windo ...