Java學習第二篇:類,對象,成員屬性,成員方法,構造方法,類變量,類方法


一.類的定義

一個全面的類定義是比較復雜的,  定義如下:

二.類的對象

1.如何創建對象

類名 對象名=new 類名();

2.如何訪問類的成員屬性?

對象名.屬性名

3.一個簡單的程序實例

public class Demo1 { public static void main(String[] args) { //創建Cat的一個對象
        Cat cat1=new Cat(); cat1.age=3; cat1.name="xiaohua"; //創建Cat的第二個對象
 Cat cat2; //將cat1賦值給cat2
        cat2=cat1; System.out.println(cat2.age+" "+cat2.name); } } class Cat { int age; String name; }

運行結果:

3 xiaohua

三.類的成員方法

1.類的成員方法的定義

2.一個簡單的程序實例

public class Demo2 { public static void main(String[] args) { Calculator calculator=new Calculator(); calculator.calculate(100); System.out.println(calculator.add(100, 100)); } } class Calculator{ //成員方法
    public void calculate(int n){ System.out.println(n*(n+1)/2); } public int add(int n1,int n2){ return n1+n2; } }

運行結果:

5050
200

四.類的構造方法

1.構造方法的特點

(1).構造方法名和類名相同;

(2).構造方法沒有返回值;

(3).主要作用是完成對新對象的初始化;

(4).在創建對象時,系統自動調用該類的構造方法;

(5).一個類可以有多個構造方法;

(6).每個類都有一個默認的構造方法.

2.一個簡單的程序實例

public class Demo3 { public static void main(String[] args) { Person p1=new Person(); System.out.println("姓名:"+p1.name+"年齡:"+p1.age); Person p2=new Person(10,"xiaoming"); System.out.println("姓名:"+p2.name+"年齡:"+p2.age); } } class Person { int age; String name; //空構造方法
    public Person(){ } //有參構造方法
    public Person(int a,String n){ age=a; name=n; } }

運行結果:

姓名:null年齡:0
姓名:xiaoming年齡:10

五.類變量與類方法

1.類變量

(1).類變量是與類相關的, 是公共屬性;

(2).加上static稱為類變量或者靜態變量, 否則稱為實例變量;

(3).實例變量是屬於每個對象個體的屬性;

(4).類變量可以通過類名.類變量名或者對象名.類變量名直接訪問.

2.類方法

(1).類方法是與類相關的, 是公共的方法;

(2).類方法中不能訪問非靜態變量;

(3).可以通過類名.類方法名或者對象名.類方法名使用.

3.簡單的程序實例

public class Demo4 { public static void main(String[] args) { Child child1=new Child(8, "xiaohuang"); child1.joinGame(); Child child2=new Child(10, "xiaoming"); child2.joinGame(); //訪問類變量
        System.out.println("共有"+child1.total+"個小孩參加游戲"); System.out.println("共有"+child2.total+"個小孩參加游戲"); System.out.println("共有"+Child.total+"個小孩參加游戲"); } } class Child { int age; String name; //類變量(靜態變量)
    static int total=0; public Child(int age,String name) { this.age=age; this.name=name; } //統計參加游戲的小孩人數
    public void joinGame() { total++; } }

運行結果:

共有2個小孩參加游戲
共有2個小孩參加游戲
共有2個小孩參加游戲

public class Demo5 { static int i=1; static { i++; } public Demo5() { i++; } public static void main(String[] args) { System.out.println(i); Demo5 d1=new Demo5(); System.out.println(i); Demo5 d2=new Demo5(); System.out.println(i); } }

運行結果:

2
3
4

public class Demo6 { public static void main(String[] args) { Stu stu1=new Stu(10,"xiaoming",120); Stu stu2=new Stu(20,"xiaohuan",320); System.out.println(Stu.getTotalFee()); } } class Stu { int age; String name; static int totalFee=0; public Stu(int age,String name,int fee) { this.age=age; this.name=name; totalFee+=fee; } //靜態變量用靜態方法訪問 //靜態方法只能訪問靜態變量 //普通方法可以訪問普通的成員變量,也可以訪問靜態變量
    public static int getTotalFee() { return totalFee; } }

運行結果:

440


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM