Ⅰ java中,什麼是「類,方法,函數」 三者又有什麼區別
類 就是 指一個種類,比如 人 ,是一個類,動物 也是一個類,等等
而如果特指某個人,則是實體。
在Java中,類的定義是 : < class> <類名> ,通常,我們在Java 中提到class,就是指類的意思。
( <> 符號要去掉)
另外,方法與函數其實一樣的,只是在C語言中我們習慣叫函數,而在Java中我們習慣叫方法,不管怎麼叫,都是指同一個意思。
方法(或函數,為了方便,下面我都說 方法 ) 必須在類中。方法的定義 :
<修飾符><返回值><方法名> (<參數類型> <參數名>){.....}
( <> 符號要去掉)
通常你看到一個帶()的就是方法了,例如: aa.XXX(); 是指調用實體 aa的XXX()方法。
類 可以擁有 屬性跟方法。方法在類中。
在 類 和 方法 中均創建 某個類 的實體,可以調用類的方法。
程序運行時,首先是從main()方法開始運行的。
main()函數必須放在 跟你文件名同名的類中,另外一個class文件中只能有一個mian()方法,
否則,在編譯運行的時候會出錯。
Ⅱ java可以在main中定義函數嗎
Java確實允許在main函數中定義匿名內部類,並實現介面的方法,從而自定義一些函數。例如,你可以創建一個匿名內部類來實現Map介面,具體如下:
public static void main(String[] args){
Map map = new Map() {
@Override
public int size() {
return 0;
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean containsKey(Object key) {
return false;
}
@Override
public boolean containsValue(Object value) {
return false;
}
@Override
public Object get(Object key) {
return null;
}
@Override
public Object put(Object key, Object value) {
return null;
}
@Override
public Object remove(Object key) {
return null;
}
@Override
public void putAll(Map m) {
}
@Override
public void clear() {
}
@Override
public Set keySet() {
return null;
}
@Override
public Collection values() {
return null;
}
@Override
public Set> entrySet() {
return null;
}
};
}
這種方式可以讓你在程序運行時動態地實現介面,而無需預先定義完整的類。不過,這種方式主要用於簡單的實現,如果需要復雜的邏輯,建議定義完整的類。
需要注意的是,匿名內部類雖然簡潔,但在可讀性和可維護性方面可能不如完整類定義。因此,對於復雜的實現,建議使用完整的類定義。
此外,這種方法在某些情況下可以提高代碼的靈活性和復用性。例如,你可以在main方法中根據需要動態地創建不同的Map實現,而無需預先定義這些實現。
總之,雖然Java不允許直接在main方法中定義普通函數,但通過這種方式,你可以在main方法中實現介面並自定義函數。