java类放到对象_Java中类和对象总结
一、面向對象概述
1.1 對象:世界萬物皆對象。
類:同一類事物的統稱,是這類對象的統稱。類就是對象的設計圖。
例:面向對象解決大雁南飛。
1.抽出對象——大雁
2.識別對象的屬性——靜態屬性(翅膀、羽毛)
3.識別對象的動態行為——動態屬性(飛行,覓食)
4.根據屬性與行為提供方法
1.2 面向對象的三大特征
1.封裝:將對象的屬性和行為封裝起來,其載體就是類。
2.繼承:將有用的類保留下來,這些類有相同的屬性或相同的方法,可以拿去用。
3.多態:將父類對象應用于子類的特征就是多態。
二、類
類是封裝對象的屬性和行為的載體。
2.1 成員變量
在Java中對象的屬性也稱為成員變量。成員變量的類型可以設置為Java中合法的數據類型。可以設置初始值,也可以不設置初始值。
public class People {//Java中使用class關鍵字來定義類,People是類的名稱
String name;//定義一個String類的成員變量
int age;//定義一個int類型的成員變量
}
2.2 成員方法
在Java語言中使用成員方法對應于類的對象的行為。
語法:權限修飾符 返回值類型 方法名(參數類型 參數名){
...//方法體
return 返回值
}
若一個方法中無返回值,可以用void關鍵字表示。
public class domo {
public String name; // 定義一個String型的成員變量
public int id = 10;
public String getName() {// 定義一個getName的方法
int id = 0; // 局部變量
setName("Java"); // 調用類中的其他方法
return this.id + this.name; // 設置返回值
}
private void setName(String name) {// 定義一個方法
this.name = name; // 將參數值返回給類中的成員變量
}
public domo getBook() {
return this; // 返回Book類
}
}
2.3 權限修飾符
image.png
權限修飾符控制著對類和類的成員方法和成員變量
注意:1.當聲明類時不使用權限修飾符時,只有一個包的類可以調用這個類的成員方法和成員變量。
2.類的權限設定會約束類成員的權限設定。
三、局部變量
局部變量:
1.在成員方法中定義一個變量,即為局部變量。
2.成員方法的一個參數也是局部變量。
局部變量是在方法被執行時創建,在方法執行結束時被銷毀。局部變量在使用十惡必須進行賦值操作或被初始化,否則會出現編譯錯誤。
int age =18;//成員變量
public void getName() {
int age=20;//局部變量
System.out.println("未賦值時的局部age值為:"+age);//20
System.out.println("未賦值時的成員age值為:"+this.age);//18
}
}
四、this關鍵字
當成員變量名與局部變量名相同時,可用this來表示成員變量名。
public class demo {
int age =18;//成員變量
public void getName() {
int age=20;//局部變量
this.age=age;//將局部變量賦值給成員變量
System.out.println("賦值時的局部age值為:"+age);//20
System.out.println("賦值時的成員age值為:"+this.age);//20
}
}
五、類的構造方法
在類中除了成員方法之外,還存在一種特殊類型的方法,那就是構造方法。
構造方法特點:
1.類的構造方法與類同名,并且沒有返回值
2.類的構造方法可以為成員變量賦值
如果類中沒有明確定義構造方法,編譯器會自動創建一個不帶參數的默認構造方法。
int age;
String name;
double score;
char sex;
public void demo1(int age,String name,double score,char sex) {
this.age=age;
this.name=name;
this.score=score;
this.sex=sex;
System.out.println("年齡為:"+this.age+"姓名為:"+this.name+"分數為:"+this.score+"性別為"+this.sex);
}
}
六、靜態變量、常量和方法
靜態成員可以在別的類中共享使用。否則需要重新創建對象。
1.被聲明為static的變量、常量和方法稱為靜態成員
2.靜態成員屬于類所有,區別于個別對象,可以在本類或其他類使用類名和“.”來調用。
3.靜態方法中不能使用this關鍵字,靜態方法中不可以直接調用非靜態方法
public class demo {
static final double PI =3.1415;//定義一個靜態常量
static int age =18;//定義一個靜態變量
final double a=3.33;//定義一個常量
int x =88;//定義一個變量
static void method1() {
System.out.println("hello,word");//定義一個靜態方法
}
void method2() {
System.out.println("你好,世界");
}
}
class demo1{
double PI1=demo.PI;
//double a1=demo.a;報錯了
int age1 =demo.age;
//int x1=demo.x;報錯了
void method3() {
demo.method1();
//demo.method2();報錯了
}
}
七、對象
Java是一門面向對象的程序設計語言,對象時由類抽象出來的。對象是相互獨立的。
7.1 對象的創建
語法:Test test = new Test();
Test test = new Test(“a”);
Test:類名
test:創建Test類對象
new: 創建對象操作符
“a”:構造方法的參數
public class demo {
int age=18;
String name ="小王";
double score = 99.99;
void method() {
System.out.println("年齡:"+age+"姓名:"+name+"分數:"+score);
}
}
class demo1{
int age;
String name;
double score;
public demo1(int age,String name,double score) {
this.age=age;
this.name=name;
this.score=score;
}
void demo2() {
System.out.println("年齡:"+this.age+"姓名:"+this.name+"分數:"+this.score);
}
}
public static void main(String[] args) {
System.out.println("1.對象的創建");
demo a=new demo();
a.method();
demo1 b =new demo1(14,"尼斯達",33.00);
b.demo2();
}
7.2 對象比較
在Java語言中有兩種比較對象方式,“==”與equals()方法。
==比較兩個對象引用的地址是否相等。
equals()方法比較兩個對象引用所指的內容是否相等。
class demo3{
int age;
public demo3(int age) {
this.age=age;
}
}
demo3 c=new demo3(333);
demo3 d=new demo3(333);
demo3 e=c;//將c引用對象賦值給e
System.out.println("e==d的結果是:"+(e==d));//false
System.out.println("c.equals(e)的結果是;"+(c.equals(e)));//true
總結
以上是生活随笔為你收集整理的java类放到对象_Java中类和对象总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: find命令过滤 no such_lin
- 下一篇: 网易手机将军令(网易游戏官网)