導航:首頁 > 編程語言 > java類定義聲明

java類定義聲明

發布時間:2023-05-29 16:02:08

① 什麼是類,什麼是對象,java中類的聲明格式是什麼,簡單舉例說明。

2.Java中的類和對象【第一部分草案】 收藏
(本章的學習量相對比較大,我把整體分為三個部分講解,第一個部分和第二個部分為Java關於類和對象以及OO的基礎,第三個部分為在OO設計技巧中針對Java程序的一些性能提升的小技巧,因為盡量保證Java關於類和對象的基本概念以及關鍵知識點都能夠涉及到,一是為了方便查詢,二是按照常用的關鍵點來進行的整理,其中的關鍵點都是在開發過程中的一些相關內容涉及,所以本文特意提供了一個目錄進行檢索。類和對象屬於面向對象的基本概念,在開發過程中,需要掌握了對象和類的基本思想過後才明白如何進行OO設計,Java本身是純面向對象的語言,這篇文章的主要目的是針對Java裡面一些關於類和對象的基本操作進行簡單的講解,若有筆誤,請來Email提點,謝謝:[email protected]
本文目錄:【藍色部分為本章的目錄】
1.基本概念
2.Java變數相關
1)Java變數分類
2)Java中變數的初始化
3)Java變數修飾符和訪問域
4)Java類修飾符[不包含內部類]
3.Java涉及OO的關鍵知識點【主體】
1)繼承的基本概念
2)抽象類、介面、final類:
3)重載和重寫:
4)對象的拷貝[深拷貝和淺拷貝]:
5)關鍵字this、super
6)Java中的inlining[內聯]
7)帶繼承的構造函數以及構造順序
8)談談Object中的方法:equals、hashCode、toString
9)帶繼承的類型轉換以及轉換中關於成員變數和成員函數的調用
10)Java語言中的反射
11)按引用傳遞和值傳遞原理
12)Java中的包和導入
13)匿名類和內部類
4.Java編程OO設計技巧
1)對象創建以及周期
2)對象屬性設置
3)垃圾回收
4)繼承、介面、抽象類
5.總結

1.基本概念:
類和對象:OO裡面什麼稱為類,類一般性我們定義為創建對象的一個藍圖,當我們根據某個類創建了一個對象的時候,我們就說該對象是這個類的一個實例(instance),類描述了某些對象的基本結構,是對對象的相關屬性的一種定義,它定義了對象所具有的屬性、方法、事件等各種基本點。
類設計的關鍵概念:封裝是對象在工作的時候的一個關鍵概念,也是我們在進行OO設計的時候的一個需要掌握的點,封裝簡單講就是將對象內部的一些細節實現隱藏起來不對外公布,僅僅對外公布某個對象能夠提供的操作結果,從而實現信息隱藏的目的。在封裝過程,對象內的數據我們一般稱為成員變數(instance fields),對象內針對這些數據執行的操作我們可以叫做操作方法(成員函數)(methods),一個對象這些屬性的集合所反映出來的就是該對象的狀態。
在Java裡面,所有的復合數據都是從Object類繼承而來的,這一點可以通過使用Java反射去獲取父類的名稱來獲得。
對象:在OO設計裡面,對象有幾個需要掌握的基本點:
對象的行為:對象的行為指代的是這個對象能夠做什麼,不能做什麼,包括這個對象有哪些介面是對外提供了我們可以直接進行使用等相關概念。
對象的狀態:對象的狀態指代的是在程序運行過程,某個對象實例的一些屬性發生了相關的變化過後產生的一個對象狀態,在ORM設計中我們經常會遇到對象狀態的操作。
對象的標識:對象的標識指代的是這個對象如何區別於其他對象,即是是同一個類產生的新實例,其本質上講它們屬於兩個不同的對象,而不應該是同一個對象。
類與類的關系:
依賴(Dependence):依賴關系簡單講就是users-a的關系,兩個類創建的對象實例本身沒有任何關系,在編程過程反映出來的就是兩個對象在相互之間的調用關系,比如某個對象在執行它自己的行為的時候調用了其他對象的方法這些相關操作都屬於users-a的基本關系,或者說在某個Class裡面使用了其他Class來定義成員變數。
組合(Aggregation):組合關系可以認為是has-a的關系,這種關系的兩個類存在一個包含關系,很容易理解就是比如某個類包含了另外一個類,這種概念嚴格上講不在操作,主要是成員變數,比如一個用戶有個姓名屬性成為NameInfo,然後這個NameInfo定義為一個包含了兩個String的對象,一個是FirstName,另外一個是LastName,這種情況可以認為該對象本身和NameInfo之間的關系是has-a的關系。
繼承(Inheritance):繼承關系屬於is-a的關系,這種關系意味著兩個類存在父類(superclass)和子類(subclass)的概念,Java裡面使用extends和implements兩個關鍵字來體現兩個類的集成關系。
(上邊這些概念基本上在各種OO語言學習的開篇都會遇到,沒什麼特殊的,所以熟悉的人可以不用去了解)
Java中的Class:
預定義Class:在Java裡面,什麼稱為預定義Class,學過Java的人都知道,JVM會在我們編寫java程序的時候默認載入包java.lang,而java.lang裡面已經存在了很多Class,這種Class就屬於預定義的Class;不僅僅如此,以及Java API裡面提供的Network相關類、IO相關類、XML相關類,這些可以不需要我們自定義,只需要import過後就可以直接使用的類就屬於預定義的類。預定義類的各種使用方法可以參考JDK的API文檔,裡面針對目前存在的很多類都有詳細的描述信息,有些類還提供了我們所需要的相關使用Demo可做參考。
一些代碼的使用例子。
自定義Class:如果我們要使用自己的Class就需要在Java中自己定義Class,定義語法如下:
class UserInfo{
……
}
使用該語法我們就可以定義一個屬於自己的Class,而在Class裡面我們就可以根據自己的需求來設計相關成員變數和成員函數以及其他相關信息。

2.Java變數:
1)Java中的變數分為四種:類變數(又稱為靜態變數)、實例變數、局部變數、塊變數
類變數——類變數只能在一個class域裡面進行定義,同樣只能在類裡面使用,使用關鍵字為static關鍵字,這種變數可以直接通過Class.VAR的方式來調用,而且不需要對象實例存在就可以調用,它的執行原理在於當JVM的類載入器將類載入進來的時候,這個變數就已經存在的,而且可以使用了。定義方式和調用方式如下,下邊的A就屬於類變數:
class UserInfo{
static int A;
public static void main(String args[])
{
System.out.println(UserInfo.A);
}
}

② Java裡面類的聲明和定義能不能分開來寫

JAVA中,類的申明和定義必須同時給出,當然介面中的方法只能申明。

至於重新編譯的問題,是這樣的,當你的一個.java要調用到其它文件
中的類時,虛擬機會先去找那個類的編譯文件(.class文件),如果
找到了,那麼就直接調用了,而如果沒有找到,那麼虛擬機會去編譯
那個被調用類的.java文件,然後再去調用。

③ 如何在java中在自己定義的類中聲明數組

數前叢源組只能是object類型的數組,不能是數組類型的數組。
你可以通過定義一個vector或者map類型的數組。
或者自己自定義一個類,class AAA{ private int[] aaa = null;} 類中包含一個數組的變慧態量吧。
然後可以定義AAA類型鄭指的數組啊, AAA[] a = new AAA[10];

④ 關於JAVA的問題:什麼是類寫出java中類定義的格式

類(Class)是面向對象程序設計(OOP,Object-Oriented Programming)實現信息封裝的基礎。類是一種用戶定義的專引用數據類型,也屬稱類類型。每個類包含數據說明和一組操作數據或傳遞消息的函數。類的實例稱為對象。

定義一個類的格式如下圖:

(4)java類定義聲明擴展閱讀:

對象可以訪問類的成員,但並不是所有成員都可以被訪問,能否訪問取決於聲明該成員時所用的關鍵字(public/protected/private)。具體規則如下:

1、類的公有成員可以被該類,其派生類和類實例化的對象訪問。

2、類的保護成員可以被該類及其派生類訪問,不可以被該類的對象訪問。

3、類的私有成員可以被該類訪問,不可以被派生類及其該類的對象訪問。

⑤ Java類和方法的定義

類的定義:

public class Test {//類的訪問修飾符可以是public,默認(就是沒有),

//abstract,final,class是定義類的關鍵內字容

方法的定義:

//方法的定義:

/**

* [訪問修飾符] [static] [是否有返回值類型] 方法名(參數列表){

* [方法執行體]

* [return返回值]

* }

*/

public void getName(){

}

//靜態方法

public static void main(String[] args) {

}

}

⑥ java公共類應如何聲明

公共類聲明 public(公共) class(類) x{};

解析:
public(公共)
class(類)
x (類名){ (類體)};
private 私有,即只有自己能訪問
protected 保護,只有自己和子類能訪問
public 公開,大家都可以訪問

同類 同包 子孫類 其它
public true true true true
protected true true true false
default true true false false
private false false false false
不寫默認為default

⑦ java中寫一個類,是叫定義一個類還是叫聲明定義一個類呢

叫什麼無所謂,一般是說定義。
C語言里分聲明和實現兩種,但java沒有這種區分。

⑧ Java程序設計中,類的定義是怎樣的,最好是有一段代碼,並且代碼有很好的注釋謝謝!

下面給出一個簡單的Java程序范飢或例,了解Java程序的基本結構。
package zknu;
/**
* @param TestJavaStructure.java
* @author chenzhanwei
* @version v1.0
*/
class Circle{ // 定義一個圓形類
final float PI = 3.1415f; // 聲明一個float型常量
int r = 3; // 聲明一友梁個int型變數,初始化值為3
/*public float perimeter(int r){ // 求圓周長的方法
return 2*PI*r;
}*/
public float area(int r){ // 求圓面積的方法
return PI*r*r;
}
}
public class TestJavaStructure {
public static void main(String[] args) {
Circle c = new Circle(); // 創建Circle的實例化對象
c.r = 6; // 給類的成員變數r賦值
// System.out.println("圓的周長為:" + c.perimeter(c.r));
System.out.println("圓的面積為:" + c.area(c.r));
}
}
程序運行結果:
圓的面積為:113.093994
程序說明:
1.程序的注釋有助於提高程序的可讀性,還可以屏蔽掉一些暫時不用的語句,等需要時直接取消此語言的注釋即可,在Java中根據功能不同,分為單行注釋、多行注釋(或者叫塊注釋)、文檔注釋3種。下面分別介紹。
(1)文檔注釋
程序中「/** 注釋內容 */」形式為文檔注釋,這種方法注釋的內容會被解釋成程序的正式文檔,並能包含在如javadoc之類工具生成的文檔中,用以說明該程序。
(2)單行注釋
在注釋內容前面加「//」,Java編譯器會忽略掉這部分信息,如程序中下面的語句:
final float PI = 3.1415f; // 聲明一個float型常量
(3)多行注釋
在注釋內容前面加「/*」,在注釋內容後面加「*/」,一般注釋內容為多行。如程序中對圓好肢運周長方法的注釋就是多行注釋。
2.class 和 public class
是Java中的關鍵字,在Java中聲明一個類的方式主要有兩種,即class 類名稱和public class類名稱。
類是Java的基本存儲單元,在Java中所有的操作都是由類組成的。一般習慣把main方法放在public class聲明的類中,public static void main(String[] args)是程序的主方法,即所有的程序都以此方法作為起點並運行下去。public class類名稱的「類名稱」必須與文件名相同。
在一個Java文件中可以有多個class類的定義,但是只能有一個public class的定義。

⑨ Java中定義和聲明的區別

Java中,我們應該知道最基本的就是定義變數和聲明變數了,那麼定義與聲明這兩者有沒有區別呢?具體的區別又是哪些呢?下面學習啦小編來告訴你定義與聲明的區別。

定義和聲明的定義區別

1、一種是需要建立存儲空間的。例如:int a 在聲明的時候就已經建立了存儲空間。

2、另一種是不需要建立存儲空間的。 例如:extern int a 其中變數a是在別的文件中定義的。

聲明是向編譯器介紹名字--標識符。它告訴編譯器「這個函數或變數在某處可找到,它的模樣象什麼」。

而定義是說:「在這里建立變數」或「在這里建立函數」。它為名字分配存儲空間。無論定義的是函數還是變數,編譯器都要為它們在定義點分配存儲空間。

對於變數,編譯器確定變數的大小,然後在內存中開辟空間來保存其數據,對於函數,編譯器會生成代碼,這些代碼最終也要佔用一定的內存。

總之就是:把建立空間的聲明成為「定義」,把不需要建立存儲空間的成為「聲明」。

基本類型變數的聲明和定義(初始化)是同時產生的;而對於對象來說,聲明和定義是分開的。

下面小編給大家舉個例子說明一下。

例如:類A

如果A a;就是一個聲明,告訴編譯器a是A類的一個對象變數,但是不進行初始化;

如果以後a=new A();這就是初始化,分配了空間。

需要注意的是我們聲明的最終目的是為了提前使用,即在定義之前使用,如果不需要提前使用就沒有單獨聲明的必要,變數是如此,函數也是如此,所以聲明不會分配存儲空間,只有定義時才會分配存儲空間。

用static來聲明一個變數的作用有二:

(1)對於局部變數用static聲明,則是為該變數分配的空間在整個程序的執行期內都始終存在。

(2)外部變數用static來聲明,則該變數的作用只限於本文件模塊。

定義和聲明的具體區別

所謂定義就是(編譯器)創建一個對象,為這個對象分配一塊內存,並給它取上一個名字,這個名字就是就是我們經常所說的變數名或對象名。

聲明有2重含義:

(1) 告訴編譯器,這個名字已經匹配到一塊內存上,下面的代碼用到變數或者對象是在別的地方定義的。聲明可以出現多次。

(2) 告訴編譯器,這個名字已經被預定了,別的地方再也不能用它來作為變數名或對象名。

定義和聲明最重要區別

定義創建對象並為這個對象分配了內存,聲明沒有分配內存。

⑩ java中如何定義一個類,定義一個類需要注意那些地方

很難用幾句話說明所有的問題,

定義一個類很容易.最簡單的寫法是class MyClass{}即可.

但是定義類需要注意的問題很多,在這里沒辦法盡述全部:
從一般規范來說.
1.首先一個java文件中至多隻能有一個類被聲明為public(可以沒有public類),且所在java文件名需要與這個public類同名.

2.一般的規范是類名首字母大寫,如果類名包括若干個單詞比如HelloWorld,則所有單詞的首字母需要大寫

類中的方法首字母應小寫(構造方法除外,因為構造方法與類同名),如果方法名包含若干個單詞,比如doSomething,則應除首字母小寫外,方法名中的其它單詞首字母應大寫

上面這些是一般規范,建議樓主看些java基礎方面的書,會收獲更多..單憑個人講很難講清楚所有問題.

閱讀全文

與java類定義聲明相關的資料

熱點內容
彩視製作教程 瀏覽:766
聖墟在哪個App看免費 瀏覽:395
網路哪些不能玩 瀏覽:868
probe315使用教程 瀏覽:646
數字電位器程序 瀏覽:198
c代碼整理 瀏覽:104
網路營銷具有什麼優勢 瀏覽:378
右下角網路連接不顯示寬頻連接 瀏覽:940
ps修改tif文件 瀏覽:580
預防醫學如何轉行做大數據 瀏覽:234
pdf文件變藍 瀏覽:309
怎麼在pdf文件上面用k寶簽名 瀏覽:213
如何知道表格里數據後面有空格 瀏覽:720
gee引擎更新系統找不到指定文件 瀏覽:802
貝殼網的數據刪除了如何找回 瀏覽:509
華為榮耀6x怎麼切換網路 瀏覽:418
手機里的pdf文件在哪放 瀏覽:889
java版貪吃蛇畢業論文 瀏覽:989
微信公共號郵箱 瀏覽:415
圖片寬度代碼 瀏覽:460

友情鏈接