1.Java作為一種面向?qū)ο笳Z言娇昙,支持以下基本概念:
(1)多態(tài)
(2)繼承
(3)封裝
(4)抽象
(5)類
1.類是一個模板净刮,描述一類對象的行為和狀態(tài)
Java中的類可以看成是創(chuàng)建java對象的模板剥哑,簡單的舉例對類的定義
public class Dog{
String breed;
int age;
String color;
void barking(){
}
void hungry(){ void:標記不返回任何值
}
void sleeping(){
}
}
2.一個類可以包含以下類型變量:
(1)局部變量:在方法的,構(gòu)造方法或者語句模塊定義的變量被成為局部變量淹父,變量聲明和初始化都是在方法中株婴,
方法結(jié)束后,變量就會自動銷毀
(2)成員變量:成員變量是定義在類中暑认,方法體之外的變量困介,這種變量在創(chuàng)建對象的時候?qū)嵗笊螅蓡T變量可以被
類中方法、構(gòu)造方法和特定類的語句塊訪問
(3)類變量: 類變量也聲明在類中座哩,方法體之外徒扶,但是必須聲明static類型
總結(jié): 一個類可以擁有多個方法,在上面的例子中:barking()根穷、hungry()和sleeping()都是Dog類的方法
(6)對象
對象是類的一個實例酷愧,有狀態(tài)和行為,
舉例:一條小狗是一個對象缠诅,
狀態(tài)有顏色溶浴,名字,品種管引,
行為:叫士败,吃等
Java的對象也有狀態(tài)和行為,軟件對象的狀態(tài)就是屬性褥伴,行為是通過方法體現(xiàn) 谅将,
在軟件開發(fā)中,方法操作對象內(nèi)部狀態(tài)的改變重慢,對象的相互調(diào)用也是通過方法來完成
(7)實例
(8)方法
(9)消息解析
二饥臂、構(gòu)造方法
每個類都有構(gòu)造方法,如果沒有顯示地為類定義構(gòu)造方法似踱,Java編譯器會為該類提供一個默認的構(gòu)造方法隅熙,在創(chuàng)建一個對象的
時候,至少要調(diào)用一個構(gòu)造方法核芽,構(gòu)造方法的名稱必須與類同名囚戚,一個類可以有多個構(gòu)造方法
例子:
public class Puppy{ 類
public Puppy(){ 構(gòu)造方法
}
public Puppy( String name ){
//這個構(gòu)造器僅有一個參數(shù):name
}
}
三、創(chuàng)建對象
1.對象是根據(jù)類創(chuàng)建的轧简,在Java中驰坊,使用new關(guān)鍵字來創(chuàng)建一個新的對象,創(chuàng)建對象需要三步
(1).聲明:聲明是一個對象哮独,包括對象名字和對象類型
(2).實例化:使用關(guān)鍵字new創(chuàng)建一個對象
(3).初始化:使用new創(chuàng)建對象時拳芙,會調(diào)用構(gòu)造方法初始化對象
例子:
public class Puppy{
public Puppy (String name){
System.out.printIn("Passed Name is :" + name );
}
public static void main(String []args){
//創(chuàng)建一個新的Puppy對象
Puppy myPuppy = new Puppy("tonny");
}
2.訪問實例變量和方法
通過已創(chuàng)建的對象來訪問成員變量和成員方法,如下所示:
實例化對象:
ObjectReference = new Constructor()
訪問其中的變量
ObjectReference.variableName;
訪問類中的方法
3.實例
如何訪問實例變量和調(diào)用成員方法
public class Puppy{
int puppyAge;
public Puppy(String name){
System.out.printIn("Passed Name is : "+ name)
}
public void setAge ( int age ){
puppyAge = age;
}
public int getAge ( ){
System.out.printIn("Puppy' age is :"+ puppyAge);
return puppyAge;
}
public static void main(String []args){
//創(chuàng)建對像
Puppy myPuppy = new Puppy( "tommy" );
//通過方法來設(shè)定age
myPuppy.setAge(2);
//調(diào)用另一個方法獲取age
myPuppy.getAge();
//也可以像下面這樣訪問成員變量
System.out.printIn("Variable Value : " + myPuppy.puppyAge);
}
}
ObjectReference.MethodName();
4.Java包皮璧、Import語句
例子:
在該例子中舟扎,我們創(chuàng)建兩個類:Employee和EmployeeTest。
首先打開文本編輯器恶导,把下面的代碼粘貼進去浆竭。注意將文件保存為Employee.java。
Employee類有四個成員變量:name、age邦泄、designation和salary删窒。該類顯式聲明了一個構(gòu)造方法,該方法只有一個參數(shù)顺囊。
import java.jo.*;
public class Employee{
String name;
int age;
String desigination;
double salary;
//Employee 類的構(gòu)造器
public Employee( String name ){
this.namr = name;
}
//設(shè)置designation的值
public void empDesignation ( String empDesig){
desigination = empDesig;
}
//設(shè)置salary的值
public void empSalary( double empSalary ){
salary = empSalary;
}
//打印信息
public void printEmployee(){
System.out.println("Name:"+ name );
System.out.println("Age:" + age );
System.out.println("Designation:" + designation );
System.out.println("Salary:" + salary);
}
}
程序都是從main方法執(zhí)行肌索,為了能夠運行這個程序,必須包含main方法并且創(chuàng)建一個實例對象特碳,
下面給出EmpoyeeTest類诚亚,這個類實例化2個Employee ,并且調(diào)用方法設(shè)置變量的值午乓。
import java.jo.*;
public class EmployeeTest{
public static void main( String args[]){
//使用構(gòu)造器創(chuàng)建連個對象
Employee empOne = new Employee ("James Smith");
Employee empTwo = new Employee ( "Mary Anne");
//調(diào)用這兩個對象的成員方法
empOne.empAge(26);
empOne.empDesignation("Senior Software Engineer");
empOne.empSalary(1000);
empOne.printEmployee();
empTwo.empAge(21);
empTwo.empDesignation("Software Engineer");
empTwo.empSalary(500);
empTwo.printEmployee();
}
}