封裝是將對象的信息隱藏在對象內(nèi)部,禁止外部程序直接訪問對象內(nèi)部的屬性和方法。 java封裝類通過三個步驟實現(xiàn): (1)修改屬性的可見性,限制訪問。 (2)設(shè)置屬性的讀取方法。 (3)在讀取屬性的方法中,添加對屬性讀取的限制。
成都創(chuàng)新互聯(lián)公司專注于行唐企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城開發(fā)。行唐網(wǎng)站建設(shè)公司,為行唐等地區(qū)提供建站服務(wù)。全流程按需定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
你把JAVA生成的兩個.clsss文件找到,例如:A.class和B.class再建一個文本文件,把建的文本文件C.TXT把擴(kuò)展名改為.mf,再用記事本打開這個文件,在里面寫上這樣的語句:
Manifest-Version: 1.0
Main-class; A
Created-By: 1.5
然后在"開始"中打開"運行"打開輸入"cmd"然后用CD把目錄轉(zhuǎn)化成那兩個文件的目錄,然后輸入"jar cfm [要生成的文件名] C.mf A.class B.class"
這樣就會生成一個文件,這個文件就是打包的文件,你可以雙擊運行.
將變量聲明成私有的(private),再提供一個或多個公有的(public)方法實現(xiàn)對該變量的訪問或修改,這樣就達(dá)到了封裝的目的。
如下面的程序:
public class A {
private String name ;
private int age;
public void setName(String u_name){
this.name = u_name;
}
public String getName(){
return this.name;
}
public void setAge(int u_age){
this.age = u_age;
}
public int getAge(){
return this.age;
}
}
class Man{private String name;private int age;Man(){}Man(String name, int age){this.name=name;this.age=age;}public void setName(String name){this.name=name;}public String getName(){return name; }public void setAge(int age){this.age=age;}public int getAge(){return age;}}創(chuàng)建了一個人的類,封裝了名字和年齡兩個屬性,構(gòu)建了兩個構(gòu)造函數(shù),用于初始化。應(yīng)用:class Test{static public void main(String a[]){Man man1=new Man(); //空構(gòu)造函數(shù)初始化,無姓名,無年齡Man man2=new Man("張三",22); //帶參數(shù)初始化,有姓名,有年齡//為man1取名,定年齡man1.setName(''李四");man2.setAge(20);//輸出兩個人System.out.println(man1.getName()+" "+man1.getAge());System.out.println(man2.getName()+" "+man2.getAge());}}以上是封裝兩個屬性,其實封閉代碼,甚至類都是有共同點的,你可以參考一下
封裝在java中有兩種表現(xiàn)
1.用類封裝一個事物的屬性和方法。
2.用方法來封裝一個固定的算法。
樓上所說的其實是封裝的程度不一樣,在面向?qū)ο蟮男g(shù)語中粒度來表示這個程度。
封裝其實是要看情況而定的,如果你這個類是描述人的,需要這個人完成一些基本的動作,如吃飯,走路,那么就不用把細(xì)胞也封裝進(jìn)來。但是如果“人”這個類,需要做醫(yī)學(xué)的研究用,那么就需要封裝細(xì)胞這個屬性了。
代碼打多了就自然能理解了,不是一個復(fù)雜的概念。呵呵。
你把重復(fù)的代碼提取出來封裝成一個方法不就是了,無非就是
private?void?SendData(int?screenid,int?controlid,String?info)
{
UpdateTextData?data=new?UpdateTextData();
data.setScreen_id(screenid);
data.setControl_id(controlid);
data.SetStrings(info);
ListByte.......
RS232.write.......
}
之后在你的popupAlertWindow里就可以寫
SendData(7,5,String.valueOf(code));
SendData(7,5,type);
SendData(7,5,info);