真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中封裝代碼實例,JAVA中封裝

求JAVA封裝和繼承案例?

封裝性是整個面向對象的第一大特性,所謂的封裝性是指類內部的操作對外部不可見。

我們提供的服務有:網(wǎng)站設計、網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、銀州ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的銀州網(wǎng)站制作公司

范例:觀察如下的程序問題

class Person { // 類名稱的單詞首字母必須大寫

String name ; // 姓名,是一個字符串所以使用String

int age ; // 年齡是一個整數(shù),所以使用int

public void tell(){ // 定義一個方法

System.out.println("姓名:" + name + ",年齡:" + age) ;

}

}

public class ClassDemo {

public static void main(String args[]){

Person per = new Person() ;

per.name = "張三" ;

per.age = -30 ;

per.tell() ;

}

}

此時的程序從技術(語法)上而言沒有任何的問題,但是從實際的生活(業(yè)務)上來看,一個人的年齡絕對不可能是-30歲,所以這個時候造成問題的主要原因就是類中的操作對外部可見。

此時,就可以通過封裝性來解決此類問題,如果現(xiàn)在要想對類中的屬性或方法封裝,可以直接使用private關鍵字完成。

class Person { // 類名稱的單詞首字母必須大寫

private String name ; // 姓名,是一個字符串所以使用String

private int age ; // 年齡是一個整數(shù),所以使用int

public void tell(){ // 定義一個方法

System.out.println("姓名:" + name + ",年齡:" + age) ;

}

}

public class ClassDemo {

public static void main(String args[]){

Person per = new Person() ;

per.name = "張三" ;

per.age = 99999 ;

per.tell() ;

}

}

此時,程序編譯之后出現(xiàn)了以下的錯誤信息:

ClassDemo.java:11: name has private access in Person

per.name = "張三" ;

^

ClassDemo.java:12: age has private access in Person

per.age = 99999 ;

^

2 errors

由于name和age兩個屬性被private聲明了(封裝了,私有)所以,現(xiàn)在根本無法被外部所訪問,很明顯,此時的屬性絕對安全,但是封裝歸封裝了,一個問題就出現(xiàn)了,現(xiàn)在的屬性無法操作了,無法操作就沒有意義了,所以此時,就可以給出一個概念,以后凡是類中的屬性在定義的時候必須封裝,封裝之后的屬性一定要通過setter、getter方法設置和取得。Setter和getter方法本身有自己的命名規(guī)范。

? 例如:private String name ;

? setter:public void setName(String na)

? getter:public String getName()

class Person { // 類名稱的單詞首字母必須大寫

private String name ; // 姓名,是一個字符串所以使用String

private int age ; // 年齡是一個整數(shù),所以使用int

public void setName(String n){

name = n ;

}

public void setAge(int a){

age = a ;

}

public String getName(){

return name ;

}

public int getAge(){

return age ;

}

public void tell(){ // 定義一個方法

System.out.println("姓名:" + name + ",年齡:" + age) ;

}

}

public class ClassDemo {

public static void main(String args[]){

Person per = new Person() ;

per.setName("張三") ;

per.setAge(99999) ;

per.tell() ;

}

}

此時,雖然是通過setter和getter方法間接的訪問了私有屬性,但是卻沒有檢驗,一旦需要檢驗,則檢驗的操作應該放在setter語句之中。

所有的設置應該在setter中完成,而getter方法只是將內容簡單的返回即可。

class Person { // 類名稱的單詞首字母必須大寫

private String name ; // 姓名,是一個字符串所以使用String

private int age ; // 年齡是一個整數(shù),所以使用int

public void setName(String n){

name = n ;

}

public void setAge(int a){

if(a0 a200){

age = a ;

}

}

public String getName(){

return name ;

}

public int getAge(){

return age ;

}

public void tell(){ // 定義一個方法

System.out.println("姓名:" + name + ",年齡:" + age) ;

}

}

public class ClassDemo {

public static void main(String args[]){

Person per = new Person() ;

per.setName("張三") ;

per.setAge(99) ;

per.tell() ;

}

}

此時,就通過封裝性解決了設置錯誤內容的問題。

一定要注意的是,封裝性出了在屬性聲明上外,也可以在方法上聲明。

private void info(){ // 私有方法

System.out.println("*************************") ;

}

public void tell(){ // 定義一個方法

this.info() ;

System.out.println("姓名:" + name + ",年齡:" + age) ;

}

如果現(xiàn)在調用的是本類中的方法,可以通過“this.方法()”的形式訪問。

在JAVA中如何封裝代碼?

封裝在java中有兩種表現(xiàn)

1.用類封裝一個事物的屬性和方法。

2.用方法來封裝一個固定的算法。

樓上所說的其實是封裝的程度不一樣,在面向對象的術語中粒度來表示這個程度。

封裝其實是要看情況而定的,如果你這個類是描述人的,需要這個人完成一些基本的動作,如吃飯,走路,那么就不用把細胞也封裝進來。但是如果“人”這個類,需要做醫(yī)學的研究用,那么就需要封裝細胞這個屬性了。

代碼打多了就自然能理解了,不是一個復雜的概念。呵呵。

Java里的封裝到底是什么意思,請舉例說明?

封裝:是指隱藏對象的屬性(成員變量)和實現(xiàn)細節(jié)(方法),僅對外提供公共訪問方式。

好處:

隱藏實現(xiàn)細節(jié),提供公共的訪問方式

提高了代碼的復用性

提高安全性。

封裝原則:

將不需要對外提供的內容都隱藏起來。

把屬性隱藏,提供公共方法對其訪問。

常見封裝 :

成員變量封裝---

private 數(shù)據(jù)類型 xxx ;

private關鍵字:

是一個權限修飾符。

可以修飾成員(成員變量和成員方法)

被private修飾的成員只在本類中才能訪問。

例如:

class show(){

private String name;//其他類無法訪問當前私有成員

public String getName(){//可以通過public修飾的方法訪問name

return this.name;

}

}

誰能用段代碼給我解釋下java的封裝啊?

public class Man {

//這里是對屬性的封裝,一個人的姓名,年齡,妻子都是這個對象(人)的私有屬性

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;

}

}

/**

* 仔細看就會發(fā)現(xiàn),Man類沒有提供getWife的方法,這是以為男人不想讓自己的妻子被外界訪問,

*

* 直接下來呢,就是封裝可以吧一個對象的屬性私有,而提供一些可以被外界訪問的屬性的方法,

*

* 比如說,name屬性,Man和Woman類都有相應的get和set方法,外界都可以通過這些方法訪問和修改

*

* 同時對一些改對象不想讓外界訪問的屬性,就不提供其方法,比如說Man的wife屬性,就沒有get方法

*

* 外界是不能帶到Man類的wife屬性的

*

* 呵呵

* 奇怪的是Woman類有husband的get方法,這就是封裝的一點,還有的其他朋友也說到了

*/

在java中什么是封裝,舉一個例子說明一下

private String sex; //性別 private int age; //年齡 private String job; //工作 //以后只要是設置值的時候 實例化這個類 //比如設置年齡 那么調用setAge(String age);方法 //傳入年齡值 注意前面是什麼類型 這里為int //TestBean test=new TestBean(); //String name="張三"; //test.setName(name); //設置值后 很復雜的多個屬性 便變成了一個簡單的JavaBean對象 //取值也很簡單 前提是你已經(jīng)設置了多項屬性的值 //比如調用年齡 getAge()就可以拿到年齡的值 //對應其類型 可以這樣調用 //TestBean test=new TestBean(); //String name=test.getName(); //使用JavaBean的好處有 實現(xiàn)MVC結構 //封裝多個屬性或對象為一個對象 私有的屬性 而共有的方法 大大提高程序安全性 //。。。等等

java 封裝

public?class?Student2?{

private?String?name;

private?String?age;

private?String?sex;

private?String?major;

public?Student2(String?name,?String?age)?{

super();

this.name?=?name;

this.age?=?age;

this.sex?=?"男";

this.major?=?"JAVA";

}

public?Student2(String?name,?String?age,?String?sex,?String?major)?{

super();

this.name?=?name;

this.age?=?age;

this.sex?=?sex;

this.major?=?major;

}

public?String?getName()?{

return?name;

}

public?void?setName(String?name)?{

this.name?=?name;

}

public?String?getAge()?{

return?age;

}

public?void?setAge(String?age)?{

this.age?=?age;

}

public?String?getSex()?{

return?sex;

}

public?void?setSex(String?sex)?{

this.sex?=?sex;

}

public?String?getMajor()?{

return?major;

}

public?void?setMajor(String?major)?{

this.major?=?major;

}

public?String?take()?{

return?"大家好,我叫"?+?name?+?",今年"?+?age?+?"歲,性別"?+?sex?+?",專業(yè)是"?+?major;

}

}

student2類

public?class?Student?{

/**

*?@param?args

*/

public?static?void?main(String[]?args)?{

//?TODO?Auto-generated?method?stub

Student2?s1?=?new?Student2("張三",?"18");

Student2?s2?=?new?Student2("李四",?"15",?"女",?"C++");

System.out.println(s1.take());

System.out.println(s2.take());

}

}

測試方法

結果:

大家好,我叫張三,今年18歲,性別男,專業(yè)是JAVA

大家好,我叫李四,今年15歲,性別女,專業(yè)是C++

你是要這個東西么


當前題目:java中封裝代碼實例,JAVA中封裝
文章轉載:http://weahome.cn/article/hopddd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部