java類使用
Ⅰ java 語言Class類的作用,怎麼使用
java中創建對象時其實不是通過類直接創建的,如果你想要使用Test類,在java中JVM首先載入Test.java文件的位元組碼文件Test.class(也就是編譯後的文件),當JVM(java虛擬機)載入位元組碼文件後,自動為該類創建自己的class對象,在通過class對象創建你以後要創建的對象\x0d\x0a例如:Test t1=new Test(); Test t2=new Test(); 我們都知道java中 == 是比較兩個對象的內存地址,t1.getClass()==t2.getClass();返回是true,證明他們是一個class對象創建出來的。那麼可Class對象的意義就是標志一個類了,Class類為我們提供了很多方法,比如反射技術常用到的Class.forName("包.類");這樣可以獲取一個類的Class對象。\x0d\x0a例如:Test類在org.abc這個包里,那麼可以用Class.forName("org.abc.Test");這樣就返回一個Test類的class對象,拿到這個對象接下來可以做很多事,調用這個類的方法,屬性,構造方法等,具體你去研究下反射技術。如果有不懂在問我。\x0d\x0a針對一種數據類型的Class轉換,比如String.class,int.class,類.class等\x0d\x0a你提出的問題Class參數,就是讓你傳一種Class對象進去。比如String.class,int.class,類.class等\x0d\x0aTest.class==t1.getClass();返回true,怕你有誤解,說明一下類和對象都可以獲取class對象的。並且這個對象是一個對象,因為一個類對應自己的class對象。
Ⅱ java內部類怎麼使用
1.內部類的方法可以訪問它所在的外部類中的所有域,包括私有型別的;
2.對於同一個包中的其它類它是隱藏的;
3. 匿名的內部類可以讓我們很方便的定義事件響應(call back),這在GUI編程中很常見
interface OutInterface{ //定義一個介面 public void f(); } public class InterfaceInner { //主類 public static void main(String args[]){ OuterClass2 out=new OuterClass2(); OutInterface outinter=out.doit(); outinter.f(); } } class OuterClass2{ //定義一個內部類,並且介面OutInterface private class InnerClass implements OutInterface{ InnerClass(String s){ System.out.println(s); } public void f(){ System.out.println("訪問內部類中的f()方法"); } } public OutInterface doit(){ //方法返回介面 return new InnerClass("訪問內部類構造方法"); } }
Ⅲ Java類的基本組成和使用
Java類的基本組成:java由一系列的介面和類組成,所有類的父類是:object。對象的生成:使用new關鍵字產生對象,該對象類中構造方法就是用來產生對象的。對象由一系列的屬性和行為構成。使用和刪除:對象構成之後,就可以使用對象點方法、屬性進行操作,問刪除,如果對象失去了引用的指向,會自動被GC(垃圾回收機制)回收。介面與包:介面(行為的抽象),實現介面,必須實現介面的方法,哪怕是空實現,目前我見過唯一一個沒有實現的類就是:HttpSrvlet,其中的service實現的是抽象方法,介面目的有3點:1、因為在java不像C++,java是單繼承,所以為了實現多繼承,提出了介面的概念。2、為了規范,比如財付通、支付寶等第3方支付工具,外面的人怎麼用它呢?他們僅僅是提供了介面給外面的,不管你怎麼操作,你必須按照我提供給你的介面去實現。3、多態(Oriented Object的思想),程序的健壯性(開閉原則),方便維護和擴展,動態綁定可以實現介面變數指向實現類。包的概念就是為了方便管理。oracle中的包的概念也是如此常用的類和介面就不說了,自己去查查API,太多了
Ⅳ JAVA內部類使用,什麼時候該使用內部類及使
java中的內部類和介面加在一起,可以的解決常被C++程序員抱怨java中存在的一個問題 沒有多繼承。
每個內部類都能獨立的繼承自一個(介面的)實現,所以無論外圍類是否已經繼承了某個(介面的)實現,對於內部類都沒有影響。
1.內部類繼承
因為內部類的構造器必須連接到指向其外圍類對象的引用,所以在繼承內部類的時候使用特殊語法。問題在於,指向外圍類對象的引用必須被初始化,而在導出類中不存在可連接的默認對象。所以必須要用特殊語法來明確說清楚他們之間的關聯。
[java]view plain
classWithInner{
classInner{}
}
.Inner{
InheritInner(WithInnerwi){
wi.super();
}
}
publicclassEgg{
privateYolky;
protectedclassYolk{
publicYolk(){
System.out.println("Egg.Yolk");
}
}
publicEgg(){
System.out.println("NewEgg");
y=newYolk();
}
}
publicclassBigEggextendsEgg{
publicclassYolk{
publicYolk(){
System.out.println("BigEgg.yolk()");
}
}
publicstaticvoidmain(String[]args){
newBigEgg();
}
}
2 內部類覆蓋
當繼承一個外圍類的時候,內部類不會發生什麼變化。當明確的繼承一個內部類時會發生變化。
[java]view plain
[java]view plain
輸出:
New Egg
Egg.Yolk
Ⅳ Java中的一個類怎麼調用另一個類中的方法
方法1. 新建一個類。然後在調用類中先進行被調用類實例化,然後通過實例化的對象訪問。例如:
//先定義一個類
(5)java類使用擴展閱讀:
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。