是指同一計(jì)算機(jī)不同功能層之間的通信規(guī)則稱為接口。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營(yíng)銷(xiāo)、網(wǎng)站重做改版、扶風(fēng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為扶風(fēng)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
java接口作用:
1、利于代碼的規(guī)范。這樣做的目的一方面是為了給開(kāi)發(fā)人員一個(gè)清晰的指示,告訴他們哪些業(yè)務(wù)需要實(shí)現(xiàn);同時(shí)也能防止由于開(kāi)發(fā)人員隨意命名而導(dǎo)致的命名不清晰和代碼混亂,影響開(kāi)發(fā)效率。
2、有利于對(duì)代碼進(jìn)行維護(hù)??梢砸婚_(kāi)始定義一個(gè)接口,把功能菜單放在接口里,然后定義類(lèi)時(shí)實(shí)現(xiàn)這個(gè)接口,以后要換的話只不過(guò)是引用另一個(gè)類(lèi)而已,這樣就達(dá)到維護(hù)、拓展的方便性。
3、保證代碼的安全和嚴(yán)密。一個(gè)好的程序一定符合高內(nèi)聚低耦合的特征,能夠讓系統(tǒng)的功能較好地實(shí)現(xiàn),而不涉及任何具體的實(shí)現(xiàn)細(xì)節(jié)。這樣就比較安全、嚴(yán)密一些,這一思想一般在軟件開(kāi)發(fā)中較為常見(jiàn)。
三個(gè)錯(cuò):
1.Chicken 類(lèi)里的howtoeat方法改howtoEat;
2.Apple類(lèi)和Orange 放到Fruit 類(lèi)外面。
3。Chicken 類(lèi)的構(gòu)造方法需要給重量參數(shù),因?yàn)槟阒欢x了一個(gè)構(gòu)造方法。
我調(diào)試的沒(méi)問(wèn)題,改后代碼:
interface Edible{
public String howtoEat();
}
class Animal{
}
class Chicken extends Animal implements Edible,Comparable{
int weight;
public Chicken(int weight){
this.weight=weight;
}
public String howtoEat(){
return "fry it";
}
public int compareTo(Object o){
return weight-((Chicken)o).weight;
}
}
class Tiger extends Animal{
}
abstract class Fruit implements Edible
{}
class Apple extends Fruit {
public String howtoEat(){
return "Make apple cider";
}
class Orange extends Fruit{
public String howtoEat(){
return "Make orange juice";
}
}
}
public class Test{
public static void main(String[] args){
Object[] objects={new Tiger(),new Chicken(10),new Apple()};
for(int i=0;iobjects.length;i++){
showObject(objects[i]);
}
}
public static void showObject(Object object){
if(object instanceof Edible)
System.out.println(((Edible)object).howtoEat());
}
}
1、調(diào)用WebService,對(duì)方給出WebService地址,可以用Axis生成對(duì)WebService的調(diào)用代碼進(jìn)行調(diào)用
2、對(duì)方提供接口文檔和傳輸方式,根據(jù)接口文檔調(diào)用。
Java接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒(méi)有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類(lèi)實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能)。
兩種含義:一,Java接口,Java語(yǔ)言中存在的結(jié)構(gòu),有特定的語(yǔ)法和結(jié)構(gòu);二,一個(gè)類(lèi)所具有的方法的特征集合,是一種邏輯上的抽象。前者叫做“Java接口”,后者叫做“接口”。
String sendPost(String jsonStr, String path)
throws IOException {
byte[] data = jsonStr.getBytes();
java.net.URL url = new java.net.URL(path);
java.net.HttpURLConnection conn =
(java.net.HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5 * 1000);// 設(shè)置連接超時(shí)時(shí)間為5秒
conn.setReadTimeout(20 * 1000);// 設(shè)置讀取超時(shí)時(shí)間為20秒
// 使用 URL 連接進(jìn)行輸出,則將 DoOutput標(biāo)志設(shè)置為 true
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
//conn.setRequestProperty("Content-Encoding","gzip");
conn.setRequestProperty("Content-Length", String.valueOf(data.length));
OutputStream outStream = conn.getOutputStream();// 返回寫(xiě)入到此連接的輸出流
outStream.write(data);
outStream.close();//關(guān)閉流
String msg = "";// 保存調(diào)用http服務(wù)后的響應(yīng)信息
// 如果請(qǐng)求響應(yīng)碼是200,則表示成功
if (conn.getResponseCode() == 200) {
// HTTP服務(wù)端返回的編碼是UTF-8,故必須設(shè)置為UTF-8,保持編碼統(tǒng)一,否則會(huì)出現(xiàn)中文亂碼
BufferedReader in = new BufferedReader(new InputStreamReader(
(InputStream) conn.getInputStream(), "UTF-8"));
msg = in.readLine();
in.close();
}
conn.disconnect();// 斷開(kāi)連接
return msg;
}