Ⅰ java中對象和對象引用的區別
1.何謂對象?
在Java中有一句比較流行的話,叫做「萬物皆對象」,這是Java語言設計之初的理念之一。要理解什麼是對象,需要跟類一起結合起來理解。下面這段話引自《Java編程思想》中的一段原話:
「按照通俗的說法,每個對象都是某個類(class)的一個實例(instance),這里,『類』就是『類型』的同義詞。」
從這一句話就可以理解到對象的本質,簡而言之,它就是類的實例,比如所有的人統稱為「人類」,這里的「人類」就是一個類(物種的一種類型),而具體到每個人,比如張三這個人,它就是對象,就是「人類」的實例。
2.何謂對象引用?
我們先看一段話:
「每種編程語言都有自己的數據處理方式。有些時候,程序員必須注意將要處理的數據是什麼類型。你是直接操縱元素,還是用某種基於特殊語法的間接表示(例如C/C++里的指針)來操作對象。所有這些在 Java 里都得到了簡化,一切都被視為對象。因此,我們可採用一種統一的語法。盡管將一切都「看作」對象,但操縱的標識符實際是指向一個對象的「引用」(reference)。」
這段話來自於《Java編程思想》,很顯然,從這段話可以看出對象和對象引用不是一回事,是兩個完全不同的概念。舉個例子,我們通常會用下面這一行代碼來創建一個對象:
Person person = new Person("張三");
有人會說,這里的person是一個對象,是Person類的一個實例。
也有人會說,這里的person並不是真正的對象,而是指向所創建的對象的引用。
到底哪種說法是對的?我們先不急著糾結哪種說法是對的,再看兩行代碼:
Person person;
person = new Person("張三");
這兩行代碼實現的功能和上面的一行代碼是完全一樣的。大家都知道,在Java中new是用來在堆上創建對象用的,如果person是一個對象的話,那麼第二行為何還要通過new來創建對象呢?由此可見,person並不是所創建的對象,是什麼?上面的一段話說的很清楚,「操縱的標識符實際是指向一個對象的引用」,也就是說person是一個引用,是指向一個可以指向Person類的對象的引用。真正創建對象的語句是右邊的new Person("張三");
Ⅱ java中類對象的作用
對象就是類的實例化
如有個class類叫Test.class
那麼
Test t=new test();
那麼t就是對象
Ⅲ 在java中類和對象是什麼
1、類的屬性和行為是什麼?
打個比方說,類就是模子,對象就是模子生產出來的一個具體的東西。
2、類的屬性和行為是什麼?
class Person{//這是一個類
private int age;//這是類的屬性
private boolean sex;;//這是類的屬性
public int getAge() {;//這是類的行為,也成為方法
return age;
}
public void eat() {;//這是類的行為,也成為方法
System.out.println("eat");
}
}
3、面向對象程序設計思想的優點有哪些?
很多。。。
4、面向過程程序設計和面向對象程序設計的區別和聯系是什麼?
面向過程的語言如C,你寫一個吃飯的過程,可以用面向過程的方法。void eat() ....
面向對象的語言如Java。以對象為主體,如果想實現吃飯的過程,先得有一個對象,比如上面寫的Person類,先Person xiaoming = new Person(); 就產生了一個具體的Person,xiaoming.eat();
就實現了吃飯的行為。
Ⅳ java中的對象比較
false
因為equals()的預設行為是拿references來比較
Ⅳ java中什麼是類和對象
類就是具備某些共同特徵的實體的集合,它是一種抽象的數據類型,它是對所具有相同特徵實體的抽象。在面向對象的程序設計語言中,類是對一類「事物」的屬性與行為的抽象。舉一個例子說明下類,比如Person(人)就是一個類,那麼具體的某個人「張三」就是「人類」這個類的對象,而「姓名、身高、體重」等信息就是對象的屬性,人的動作比如「吃飯、穿衣」等就是對象的方法。總之類就是有相同特徵的事物的集合,而對象就是類的一個具體實例。同時類有多態和繼承,例如「人類」可以分為「男人、女人」,「老人、小孩」那麼「男人、女人」就是「人類」的子類等等。
Java語言中對類Person的定義往往如下:
public class Person {
private String name; //屬性:姓名
private int height; //屬性:身高
private int weight; //屬性:體重
public Person() {}
public Person(String name, int height, int weight) {
this.name = name;
this.height = height;
this.weight = weight;
}
//... some methods...
public void doSth() { //行為:
//... do something
}}
Java中的類
類可以看成是創建Java對象的模板。
通過下面一個簡單的類來理解下Java中類的定義:
public class Dog{
String breed; int age; String color; void barking(){
}
void hungry(){
}
void sleeping(){
}}
一個類可以包含以下類型變數:
局部變數:在方法、構造方法或者語句塊中定義的變數被稱為局部變數。變數聲明和初始化都是在方法中,方法結束後,變數就會自動銷毀。
成員變數:成員變數是定義在類中,方法體之外的變數。這種變數在創建對象的時候實例化。成員變數可以被類中方法、構造方法和特定類的語句塊訪問。
類變數:類變數也聲明在類中,方法體之外,但必須聲明為static類型。
一個類可以擁有多個方法,在上面的例子中:barking()、hungry()和sleeping()都是Dog類的方法。
Ⅵ JAVA中什麼叫對象
面向對象編程都是圍繞著類和對象
打交道
一個類
通過new
實例化創建對象
舉個例子
動物是一個類
那麼狗就是動物中的一種
就是一種對象
懂了不
Ⅶ java中對象的理解
p1是Person類的對象,這沒什麼問題
比如person類代表人,p1可以代表具體的一個人,比如「張三」,人都有自己的名字,張三這個對象也有自己的名字,就是p1.name屬性,人都可以說話,p1.talk(),這個方法,是代表p1這個人說話
Ⅷ JAVA中的對象究竟是啥啊!
首先有類才有對象,對象就是類的一個實例;一般我們都把類理解為一個模板,對象是由模板產生的真正存在的東西,比如一個Car的類,那麼這個類就可以看做生產Car的模板,你用這個類產生的實例就可以看做是一輛車了;在java程序裡面,我們不是直接操作對象的,而是拿到對象在內存裡面的地址,這個地址就是對象的引用,我們操作這個地址就好像是在操作這個對象一樣;這是我自己的理解,希望能幫助到你!