導航:首頁 > 研究方法 > 類方法是指用什麼修飾的方法

類方法是指用什麼修飾的方法

發布時間:2025-06-23 18:50:14

『壹』 JAVA中構造方法,例項方法,類方法,有什麼區別

JAVA中構造方法,例項方法,類方法,有什麼區別?

構造方法:構造方法是用來構造類的物件的,方法名和類名相同沒有返回值。一般用 new 構造方法名() 來建立該類的物件。在不寫構造方法的情況下會有一個預設的無參構造方法,當然你也可以重寫和過載構造方法(建議你找一本《Java程式設計思想》看看,裡面講的很透徹)。
例項方法:簡單地說就是可以通過類的例項(某個物件)呼叫的方法,也就是我們正常情況下使用的方法。例項方法也稱成員方法(成員方法和成員變數的知識你可以參考《Java程式設計思想》)。
類方法:簡單地說就是直接可以用類名呼叫的方法,也就是被關鍵字static修飾的方法,它不需要建立類的物件來呼叫該方法。(關於static關鍵字的詳細用法你也可以在《Java程式設計思想》這本書中找到)。
《Java程式設計思想》是目前最好的Java參考書,網上有第3版的中文版電子書下的,第4版是英文的

Java中的構造方法與例項方法,有什麼區別?

java中所謂的構造方法是指JAVA虛擬機器在LOAD載入這個類的時候,利用構造方法來建立這個類的一個例項所呼叫的方法,典型的就是構造方法的過載
public class student{
private int id;
private String name;
private int age;
以 *** 現出構造方法的過載
public void student() {}
public void student(int id ,String name) { this.id=id; this.name= name;}
public void student(int id ,String name,int age) {this.id=id; this.name=name; this.age=age;}
}
呼叫方法是指已經在類庫中寫好的方法我們直接去呼叫就可以了,如:System.out.println();
至於例項方法可以理解為類的中普通方法,就是我們在類中自己建立定義的。

行為差異:構造方法,建立物件後自動呼叫構造方法,例項方法必須物件.例項方法進行呼叫。
功能差異:構造方法多用於初始化物件狀態,對屬性賦初值,例項方法用於實現某個功能

java中構造方法和方法有什麼區別

我不知道怎麼和你解釋,所以在網上找了點資料,希望可以幫助你。
構造方法要與類名相同,無返回型別,在類初始化的時候呼叫。
方法最好與類名不同,物件呼叫,靜態方法可用類名.方法().
功能和作用的不同
構造器是為了建立一個類的例項。這個過程也可以在建立一個物件的時候用到:Platypus p1 = new Platypus();
相反,方法的作用是為了執行java程式碼。
修飾符,返回值和命名的不同
構造器和方法在下面三個方便的區別:修飾符,返回值,命名。和方法一樣,構造器可以有任何訪問的修飾: public, protected, private或者沒有修飾(通常被package 和 friendly呼叫). 不同於方法的是,構造器不能有以下非訪問性質的修飾: abstract, final, native, static, 或者 synchronized。
返回型別也是非常重要的。方法能返回任何型別的值或者無返回值(void),構造器沒有返回值,也不需要void。
最後,談談兩者的命名。構造器使用和類相同的名字,而方法則不同。按照習慣,方法通常用小寫字母開始,而構造器通常用大寫字母開始。構造器通常是一個名詞,因為它和類名相同;而方法通常更接近動詞,因為它說明一個操作。
"this"的用法
構造器和方法使用關鍵字this有很大的區別。方法引用this指向正在執行方法的類的例項。靜態方法不能使用this關鍵字,因為靜態方法不屬於類的例項,所以this也就沒有什麼東西去指向。構造器的this指向同一個類中,不同引數列表的另外一個構造器,我們看看下面的程式碼:
public class Platypus {
String name;
Platypus(String input) {
name = input;
}
Platypus() {
this("John/Mary Doe");
}
public static void main(String args[]) {
Platypus p1 = new Platypus("digger");
Platypus p2 = new Platypus();
}
}
在上面的程式碼中,有2個不同引數列表的構造器。第一個構造器,給類的成員name賦值,第二個構造器,呼叫第一個構造器,給成員變數name一個初始值 "John/Mary Doe".
在構造器中,如果要使用關鍵字this,那麼,必須放在第一行,如果不這樣,將導致一個編譯錯誤。
"super"的用法
構造器和方法,都用關鍵字super指向超類,但是用的方法不一樣。方法用這個關鍵字去執行被過載的超類中的方法。看下面的例子:
class Mammal {
void getBirthInfo() {
System.out.println("born alive.");
}
}
class Platypus extends Mammal {
void getBirthInfo() {
System.out.println("hatch from eggs");
System.out.print("a mammal normally is ");
super.getBirthInfo();
}
}
在上面的例子中,使用super.getBirthInfo()去呼叫超類Mammal中被過載的方法。
構造器使用super去呼叫超類中的構造器。而且這行程式碼必須放在第一行,否則編譯將出錯。看下面的例子:
public class SuperClassDemo {
SuperClassDemo() {}
}
class Child extends SuperClassDemo {
Child() {
super();
}
}
在上面這個沒有什麼實際意義的例子中,構造器 Child()包含了 super,它的作用就是將超類中的構造器SuperClassDemo例項化,並加到 Child類中。
編譯器自動加入程式碼
編譯器自動加入程式碼到構造器,對於這個,java程式設計師新手可能比較混淆。當我們寫一個沒有構造器的類,編譯的時候,編譯器會自動加上一個不帶引數的構造器,例如:public class Example {}
編譯後將如下程式碼:
public class Example {
Example() {}
}
在構造器的第一行,沒有使用super,那麼編譯器也會自動加上,例如:
public class TestConstructors {
TestConstructors() {}
}
編譯器會加上程式碼,如下:
public class TestConstructors {
TestConstructors() {
super;
}
}
仔細想一下,就知道下面的程式碼
public class Example {}
經過會被編譯器加程式碼形如:
public class Example {
Example() {
super;
}
}
繼承
構造器是不能被繼承的。子類可以繼承超類的任何方法。看看下面的程式碼:
public class Example {
public void sayHi {
system.out.println("Hi");
}
Example() {}
}
public class SubClass extends Example {
}
類 SubClass 自動繼承了父類中的sayHi方法,但是,父類中的構造器 Example()卻不能被繼承。
總結
主題
構造器
方法
功能
建立一個類的例項
java功能語句
修飾
不能用bstract, final, native, static,
or synchronized

返回型別
沒有返回值,沒有void
有返回值,或者void
命名
和類名相同;通常為名詞,大寫開頭
通常代表一個動詞的意思,小寫開頭
this
指向同一個類中另外一個構造器,在第一行
指向當前類的一個例項,不能用於靜態方法
super
呼叫父類的構造器,在第一行
呼叫父類中一個過載的方法
繼承
構造器不能被繼承
方法可以被繼承
編譯器自動加入一個預設的構造器
自動加入(如果沒有)
不支援
編譯器自動加入一個預設的呼叫到超類的構造器
自動加入(如果沒有)
不支援
構造方法,可以理解為在物件使用之前必須呼叫的方法,而該類當中的其他方法則沒這個必要
所以在建立物件的時候,不但要分配記憶體,還要呼叫構造方法
細微的差別
構造方法必須沒有返回值,其他方法必須有返回值
構造方法有預設構造方法,而其他方法沒有
java 類當中方法有返回值,並且習慣方法名開頭小寫!
構造方法沒有返回值,而其寫法特殊是
public/private + 類名 +()+{}。是固定的
例如
class A{
private int id;
private String name;
public A(){}
public A(int id,String name){
this.id = id;
this.name = name;
}
}
第一個 public A(){}是預設的構造方法,第二是過載Full的構造方法。

java中呼叫方法,構造方法,例項方法有什麼區別

java中所謂的構造方法是指JAVA虛擬機器在LOAD這個類的時候,利用構造方法來建立這個類的一個例項所呼叫的方法,典型的就是構造方法的過載,比如:
public class student{
private int id;
private String name;
private int age;
以 *** 現出構造方法的過載
public void student() {}
public void student(int id ,String name) { this.id=id; this.name= name;}
public void student(int id ,String name,int age) {this.id=id; this.name=name; this.age=age;}
}
呼叫方法是指已經在類庫中寫好的方法我們直接去呼叫就可以了,如:System.out.println();
至於例項方法可以理解為類的中普通方法如:get(),set()之類的

JAVA中構造方法和普通方法有什麼區別

構造方法,只在建立物件的時候呼叫,用於初始化物件中的屬性。
物件建立後,構造方法就不能呼叫了。
普通的物件方法,只能在物件建立後,被物件呼叫,可以呼叫多次。

JAVA類中類方法和例項方法有什麼區別

就是 類的方法 跟 物件的方法 區別; 類裡面的靜態方法,類是可以直接呼叫; 類 其他方法,需要例項化才能呼叫,也就是只有物件才能呼叫

java 中的類方法和例項方法有什麼區別呀?????

你說的類方法是不是靜態方法呀,例項方法是不是指宣告物件後使用這個物件的方法呢. 首先你這兩個名詞說法我是真沒聽說過. 如果指靜態方法的話,是指不用宣告就可以使用的方法, 這些方法被定義在一個靜態類中,使用的直接寫 類名.方法(); 而你所說的例項方法應該是那些非靜態的方法,也就是說必須先宣告包含這個方法的類的例項,然後通過這個例項來使用這些方法. 這就是它們兩個的不同點. 希望我沒有理解錯.

例項方法和類方法有什麼區別啊???

例項方法是建立例項才有的方法
類方法是直接可以使用類引用,不需要例項化就可以使用的方法,一般在專案中類方法都是設定為工具類使用的

呼叫類方法與例項方法有什麼區別

類方法可以直接呼叫,例項方法必須new出一個物件後,用物件引用來呼叫

『貳』 若需要定義一個類域或類方法,應使用哪種修飾符

選擇答案A,定義一個類域或類方法,應該使用static作為修飾符。

類域就是定義在類裡面的變數,而且作用於的范圍應該屬於這一個類本身,類方法就是定義在類中的方法。

一個類應該有它本身的屬性,例如一個人類,它可能有姓名,年齡,學歷,身高,如果這些屬性用static那麼這些屬性的作用域將是整個類,而人類有吃飯等的動作、是一個動作,是一種函數,那麼這些動作用static修飾後就是類方法。

(2)類方法是指用什麼修飾的方法擴展閱讀:

Java語言提供了很多修飾符,主要分為以下兩類:

Java中,可以使用訪問控制符來保護對類、變數、方法和構造方法的訪問。Java 支持 4 種不同的訪問許可權。

1、default(即默認),在同一包內可見,不使用任何修飾符。使用對象:類、介面、變數、方法。

2、private,在同一類內可見。使用對象:變數、方法。注意:不能修飾類(外部類)

3、public,對所有類可見。使用對象:類、介面、變數、方法

4、protected,對同一包內的類和所有子類可見。使用對象:變數、方法。注意:不能修飾類(外部類)。

為了實現一些其他的功能,Java 也提供了許多非訪問修飾符:

1、static修飾符,用來修飾類方法和類變數。

2、final修飾符,用來修飾類、方法和變數,final 修飾的類不能夠被繼承,修飾的方法不能被繼承類重新定義,修飾的變數為常量,是不可修改的。

3、abstract修飾符,用來創建抽象類和抽象方法。

4、synchronized和 volatile修飾符,主要用於線程的編程。

『叄』 ios 類方法和實例方法的區別

類方法: 也被稱為靜態方法,指 static關鍵字修飾的方法。此類方法屬於類本身的方法,不屬於類的某一個實例(對象)。在類方法中不可以直接使用實例變數。其調用方式有三種,可直接調用、類名、方法名、對象名。

實例方法:指的是不用static關鍵字修飾的方法,每個實例對象都有自身的實例方法,互相獨立,不共享。其調用方式只能是對象名,方法名。

何時用靜態方法,何時用類方法?
實例方法: 當你給一個類寫一個方法,如果該方法需要訪問某個實例的成員變數時,那麼方法該被定義為實例方法。 一個類的實例通常有一些成員變數,其中含有該實例的狀態信息。而該方法需要改變這些狀態,那麼該方法需要聲明成實例方法。

類方法(靜態方法):它不需要訪問某個實例的成員變數,不需要改變某個實例的狀態,我們把該方法定義為靜態方法。

類方法和實例方法的誤區:
靜態方法常駐內存,實例方法不是。所以靜態方法效率更高,但占內存。。(錯誤的)
事實上,方法都是一樣,在載入時機和佔用內存上,靜態方法和實例方法是一樣的。在類型第一次被使用時載入,調用的速度基本沒有差別

靜態方法在堆上分配內存,實例方法在棧上(錯誤)
事實上,所有的方法都不可能在堆上或者棧上分配內存,方法作為代碼是被分配到特使的代碼內存區域,這個代碼內存區域是不可寫的。

實例方法需要先創建實例才可以調用,比較麻煩,靜態方法不用,比較簡單。(錯誤)
事實上,如果一個方法不訪問某實例成員變數或者不改變實例狀態,那麼就應該寫成靜態方法。

常用實例和類
第一種方式:聲明實,調用實例方法
當一個類有多個實例,例如學生這個類,實例可以有學生甲乙丙丁。etc 我們就用第一種方式,在多線程的情況下,只要每個線程創建自己的實例,那麼第一種方法通常是線程安全的

第二種:通過靜態的實例去調用實例方法

『肆』 JAVA類中類方法和實例方法有什麼區別

在Java中,類方法和實例方法的區別主要體現在調用方式上。類方法,也稱為靜態方法,可以直接通過類名調用,無需創建類的實例。例如,可以使用類名直接調用靜態方法,無需實例化該類。這種方式適用於那些不需要訪問類實例內部狀態的方法。

而實例方法,則必須通過類的實例來調用。在調用實例方法之前,需要先創建一個類的實例對象。實例方法可以訪問實例變數,也就是對象的狀態。因此,實例方法更適合處理與對象狀態相關的操作。

靜態方法和實例方法在Java語言中的定義也有所不同。靜態方法使用static關鍵字修飾,而實例方法則沒有這種修飾。這種語法上的差異也體現了它們的不同用途。

為了更好地理解這兩種方法的區別,我們可以舉一個簡單的例子。假設我們有一個名為MathUtil的類,該類包含一個用於計算兩個數之和的靜態方法和一個用於計算兩個數之差的實例方法。

靜態方法示例:

public static int add(int a, int b) { return a + b; }

實例方法示例:

public int subtract(int a, int b) { return a - b; }

在這個例子中,add方法是一個靜態方法,可以直接通過類名調用。而subtract方法是一個實例方法,需要先創建MathUtil類的實例,然後通過這個實例調用subtract方法。

總結來說,類方法和實例方法在調用方式、用途和定義方式上都存在明顯區別。正確理解這些區別有助於我們更好地編寫Java代碼,提高代碼的可讀性和可維護性。

閱讀全文

與類方法是指用什麼修飾的方法相關的資料

熱點內容
方向盤鎖正確使用方法 瀏覽:59
補骨脂蒸豬腎的正確方法 瀏覽:196
調整胎位的方法圖片 瀏覽:406
氣管瘤的治療方法 瀏覽:883
判斷宣紙最簡單方法 瀏覽:352
Q1100用什麼材料分析方法 瀏覽:360
治療腰間盤突出的鍛煉方法 瀏覽:800
蘋果懸浮鍵在哪裡設置方法 瀏覽:633
簡單易學的洗澡方法 瀏覽:918
b的值計算方法 瀏覽:489
自動旋轉屏幕設置在哪裡設置方法 瀏覽:597
如何學好話劇的方法 瀏覽:587
構造方法私有化子類如何調用 瀏覽:591
25個簡便運算方法 瀏覽:790
果蔬纖維正確食用方法 瀏覽:662
收銀機的使用方法圖解 瀏覽:841
餃子化了正確方法怎麼煮 瀏覽:516
人暴躁的時候如何冷靜下來的方法 瀏覽:843
4141分析方法 瀏覽:280
類方法是指用什麼修飾的方法 瀏覽:799