1 class Person{ 2 //定义int 类型的变量 3 int age; 4 //定义speak()方法 5 void speak (){ 6 System.out.println(“***”) 7 } 8 } //Person 类名,age 是成员变量,speak()成员方法
成員變數類別 | #初始值 | 成員變數類別 | #初始值 |
byte | #double | 0.0D | |
#short | 0 | char | 空字符,'\u0000' |
int | 0 | boolean | false |
long | 0L | 引用資料型別 | null |
float | 0.0F |
1 class Student{ 2 private String name; //将name属性私有化 3 private int age; //将age属性私有化 4 //下面是公有的getXXX()和setXXX()方法 5 public String getName (){ 6 return name; 7 } 8 public void setName(String stuName){ 9 name = stuName ; 10 } 11 public int getAge (){ 12 return age ; 13 } 14 public void setAge(int stuAge){ 15 //下面是对传入的参数进行检查 16 if(stuAge
②在方法名前面没有返回值类型的声明;
③在方法中不能使用return语句返回一个值;
1 class Person{ 2 //构造方法 3 public Person(){ 4 //无参构造方法 5 } 6 public Person(int age){ 7 age = a; //有参构造方法 8 } 9 public void speak(){ 10 System.out.println(“I am” +age+”years old !"); 11 } 12 } 13 public class Example{ 14 public static void main (String [] args){ 15 Person p = new Person(20); //实例化Person对象 16 p.speak(); 17 } 18 }
①通过this关键字可以明确地访问一个类的成员变量,解决与局部变量名称冲突问题。
1 class Person{ 2 int age ; 3 public Person(int age){ 4 this.age = age ; //访问成员变量 5 } 6 public int getAge(){ 7 return this .age; 8 } 9 }
②通过this关键字调用成员方法。
③构造方法是在实例化对象时被Java虚拟机自动调用的,在程序中不能像调用其他方法一样去调用构造方法,但可以在一个构造方法中使用“this(【参数1,参数2……】)”的形式来调用其他的构造方法。
①只能在构造方法中使用this 调用其他的构造方法,不能在成员方法中使用。
②在构造方法中,使用this 调用构造方法的语句必须位于第一行,且只能出现一次。
③不能在一个类的两个构造方法中使用this互相调用。
1 class Single{ 2 private static Single INSTANCE = new Single(); 3 private Single(){} 4 public static Single getInstance(){ 5 return INSTANCE ; 6 } 7 } 8 //上面单例又可写成以下形式 9 class Single{ 10 private Single(){} 11 public static final Single INSTANCE = new Single(); /*变量名INSTANCE的前面有三个修饰符,其中,public的作用是允许外部直接访问该变量,static 的作用是 让外部可以使用 “类名.变量名“的方式来访问变量,final的作用是禁止外部对该变量进行修改。*/ 12 } 13 14 class Example { 15 public static void main(String[] args){ 16 Single s = Single.getInstance(); // getInstance()方法是获得Single类实例对象的唯一途径,Single 类是一个单例的类 17 } 18 }
1 class Outer{ 2 private int num = 4; //定义类的成员变量 3 //下面的代码定义了一个成员方法,方法中访问内部类 4 public void test(){ 5 Inner inner = new Inner(); 6 inner.show(); 7 } 8 //下面的代码定义了一个成员内部类 9 class Inner{ 10 void show(){ 11 //在成员内部类的方法中访问外部类的成员变量 12 System.out.println("num = "+num); 13 } 14 } 15 } 16 public class Example16 { 17 public static void main(String[] args){ 18 Outer outer = new Outer(); //创建外部类对象 19 outer.test(); //调用test()方法 20 } 21 } 22 //直接创建内部类对象示例 23 public class Example16 { 24 public static void main(String[] args){ 25 Outer.Inner inner = new Outer().Inner() ; //创建内部类对象 26 inner.show(); //调用show()方法 27 } 28 } 29 //当内部类被声明为私有,外界将无法访问。
1 class Outer{ 2 private static int num = 6; //定义类的成员变量 3 //下面的代码定义了一个静态内部类 4 static class Inner{ 5 void show(){ 6 System.out.println("num = "+num); 7 } 8 } 9 } 10 public class Example16 { 11 public static void main(String[] args){ 12 Out.Inner inner = new Out.Inner(); //创建内部类对象 13 inner.show(); //调用内部类的方法 14 } 15 }
注意:①在静态内部类中只能访问外部类的静态成员。
以上是Java入門之面對物件的學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JVMmanagesgarbagecollectionacrossplatformseffectivelybyusingagenerationalapproachandadaptingtoOSandhardwaredifferences.ItemploysvariouscollectorslikeSerial,Parallel,CMS,andG1,eachsuitedfordifferentscenarios.Performancecanbetunedwithflagslike-XX:NewRa

Java代碼可以在不同操作系統上無需修改即可運行,這是因為Java的“一次編寫,到處運行”哲學,由Java虛擬機(JVM)實現。 JVM作為編譯後的Java字節碼與操作系統之間的中介,將字節碼翻譯成特定機器指令,確保程序在任何安裝了JVM的平台上都能獨立運行。

Java程序的編譯和執行通過字節碼和JVM實現平台獨立性。 1)編寫Java源碼並編譯成字節碼。 2)使用JVM在任何平台上執行字節碼,確保代碼的跨平台運行。

Java性能与硬件架构密切相关,理解这种关系可以显著提升编程能力。1)JVM通过JIT编译将Java字节码转换为机器指令,受CPU架构影响。2)内存管理和垃圾回收受RAM和内存总线速度影响。3)缓存和分支预测优化Java代码执行。4)多线程和并行处理在多核系统上提升性能。

使用原生庫會破壞Java的平台獨立性,因為這些庫需要為每個操作系統單獨編譯。 1)原生庫通過JNI與Java交互,提供Java無法直接實現的功能。 2)使用原生庫增加了項目複雜性,需要為不同平台管理庫文件。 3)雖然原生庫能提高性能,但應謹慎使用並進行跨平台測試。

JVM通過JavaNativeInterface(JNI)和Java標準庫處理操作系統API差異:1.JNI允許Java代碼調用本地代碼,直接與操作系統API交互。 2.Java標準庫提供統一API,內部映射到不同操作系統API,確保代碼跨平台運行。

modularitydoesnotdirectlyaffectJava'splatformindependence.Java'splatformindependenceismaintainedbytheJVM,butmodularityinfluencesapplicationstructureandmanagement,indirectlyimpactingplatformindependence.1)Deploymentanddistributionbecomemoreefficientwi

BytecodeinJavaistheintermediaterepresentationthatenablesplatformindependence.1)Javacodeiscompiledintobytecodestoredin.classfiles.2)TheJVMinterpretsorcompilesthisbytecodeintomachinecodeatruntime,allowingthesamebytecodetorunonanydevicewithaJVM,thusfulf


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

記事本++7.3.1
好用且免費的程式碼編輯器