本文目錄一覽:
Java中的介面怎麼實現?
舉個面積的例子:在java中,定義一個介面,聲明計算長方形面積和周長的抽象方法,再用一個類去實現這個介面,再編寫一個測試類去使用這個介面。首先,介面必須單獨存放,如果我們用eclipse編程的話,它們提示:The public type **** must be defined in its own file,意思是必須要定義在其自己的文件中,所以要為介面文件單獨存放起來,舉例,我們的介面要實現獲到矩形的長,寬,面積,周長,所以定義以下的介面。public interface calrect {\x0d\x0apublic abstract int calarea();\x0d\x0apublic abstract int calgirth();\x0d\x0apublic abstract int getx();\x0d\x0apublic abstract int gety();\x0d\x0a}注意,定義介面就像定義類一樣,介面的訪問控制符只能用public,用public定義的介面可以被所有的類和包引用,而預設的則只能被同一個包中的其他類和介面引用,這符合JAVA中訪問控制符的一般要求,關於介面再引用其他介面則是後話。以上介面文件名為calrect.java.另外需要指出的是介面中不能給方法給出方法體。接下來,需要定義一個類來實現介面,因為不知道JAVA的內置矩形類是什麼名,所以為了安全,將該類定義為RRect,這可以認為是一種安全策略。關於implements,可以參考其他資料。該類引用了介面calrect,所以必須對calrect中的方法一一實現。//定義矩形類 應用介面class RRect implements calrect{private int x;\x0d\x0aprivate int y;public RRect (){\x0d\x0a x=3;y=4;\x0d\x0a}\x0d\x0apublic int calarea(){\x0d\x0a return x*y;\x0d\x0a}\x0d\x0apublic int calgirth(){\x0d\x0a return x*2+y*2;\x0d\x0a}\x0d\x0apublic int getx(){\x0d\x0a return x;\x0d\x0a}\x0d\x0apublic int gety(){\x0d\x0a return y;\x0d\x0a}\x0d\x0a}//接下來,定義一個測試類,所謂測試類,我理解為定義一個類,在其定義類RRect的對象,並驗證其中的方法,看看是不是可以正常使用//定義Class1類\x0d\x0apublic class Class1{\x0d\x0aRRect rect;\x0d\x0apublic static void main(String []args){\x0d\x0a RRect rect=new RRect();\x0d\x0a System.out.println(“矩陣的長”+ rect.getx());\x0d\x0a System.out.println(“矩陣的寬”+ rect.calarea());\x0d\x0a System.out.println(“矩陣的面積”+ rect.calarea());\x0d\x0a System.out.println(“矩形的周長 “+rect.calgirth());\x0d\x0a}\x0d\x0a\x0d\x0a}運行結果:矩陣的長3\x0d\x0a矩陣的寬12\x0d\x0a矩陣的面積12\x0d\x0a矩形的周長 14註:介面單存放,介面實現類和測試類可以存放在一個文件中
java 類實現介面方法
如果要實現某個介面的方法,需要先implements介面。
如:public class User1 implements User{};
之後在User1類中重新再test方法中編寫相應的方法代碼即可。
備註:介面中是沒有方法實現的,之後介面定義,之後在子類中進行具體的方法實現,並且子類必須實現父類的所有方法。
java如何寫一個介面?
非常簡單,基礎語法:
public interface 介面名 {
常量定義;
抽象方法定義;
default 方法定義;
}
即使你在介面中不定義任何方法,也是可以的。
JAVA實現介面的關鍵字是什麼?
Java中定義介面的關鍵字是什麼?. Java中定義介面的關鍵字是「interface」。. 「interface」是面向對象編程語言中介面操作的關鍵字,功能是把所需成員組合起來,用來裝封一定功能的集合。. 介面不能直接實例化,也不能包含成員的任何代碼,只定義成員本身。.
原創文章,作者:HRMB,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147933.html