java基础知识大全,java 基础知识点汇总
java 基礎知識點匯總
問題一:我聲明了什么!
String s = "Hello world!";
許多人都做過這樣的事情,但是,我們到底聲明了什么?回答通常是:一個String,內(nèi)容是“Hello world!”。這樣模糊的回答通常是概念不清的根源。如果要準確的回答,一半的人大概會回答錯誤。
這
個語句聲明的是一個指向?qū)ο蟮囊?#xff0c;名為“s”,可以指向類型為String的任何對象,目前指向"Hello
world!"這個String類型的對象。這就是真正發(fā)生的事情。我們并沒有聲明一個String對象,我們只是聲明了一個只能指向String對象的
引用變量。所以,如果在剛才那句語句后面,如果再運行一句:
String string = s;
我們是聲明了另外一個只能指向String對象的引用,名為string,并沒有第二個對象產(chǎn)生,string還是指向原來那個對象,也就是,和s指向同一個對象。
問題二:"=="和equals方法究竟有什么區(qū)別?
==操作符專門用來比較變量的值是否相等。比較好理解的一點是:
int a=10;
int b=10;
則a==b將是true。
但不好理解的地方是:
String a=new String("foo");
String b=new String("foo");
則a==b將返回false。
根
據(jù)前一帖說過,對象變量其實是一個引用,它們的值是指向?qū)ο笏诘膬?nèi)存地址,而不是對象本身。a和b都使用了new操作符,意味著將在內(nèi)存中產(chǎn)生兩個內(nèi)容
為"foo"的字符串,既然是“兩個”,它們自然位于不同的內(nèi)存地址。a和b的值其實是兩個不同的內(nèi)存地址的值,所以使用"=="操作符,結果會是
false。誠然,a和b所指的對象,它們的內(nèi)容都是"foo",應該是“相等”,但是==操作符并不涉及到對象內(nèi)容的比較。
對象內(nèi)容的比較,正是equals方法做的事。
看一下Object對象的equals方法是如何實現(xiàn)的:
boolean equals(Object o){
return this==o;
}
Object
對象默認使用了==操作符。所以如果你自創(chuàng)的類沒有覆蓋equals方法,那你的類使用equals和使用==會得到同樣的結果。同樣也可以看出,
Object的equals方法沒有達到equals方法應該達到的目標:比較兩個對象內(nèi)容是否相等。因為答案應該由類的創(chuàng)建者決定,所以Object把
這個任務留給了類的創(chuàng)建者。
看一下一個極端的類:
Class Monster{
private String content;
...
boolean equals(Object another){ return true;}
}
我覆蓋了equals方法。這個實現(xiàn)會導致無論Monster實例內(nèi)容如何,它們
相關文檔:
1.使用Ajax的好處:
可以通過JavaScript發(fā)送請求到服務器,并或得返回的結果,在必要的時候需要更新頁面的一部分,而不要整個頁面都刷新,也稱為:“無刷新”技術? 提供連續(xù)的用戶體驗,而不被刷新中斷
2.什么是Ajax
它是Asynchronous(異步的),JavaScript And Xml的簡寫;
3 ......
如果你不需要內(nèi)部類對象與其外圍類對象之間有聯(lián)系,那你可以將內(nèi)部類聲明為static。這通常稱為嵌套類(nested class)。想要理解static應用于內(nèi)部類時的含義,你就必須記住,普通的內(nèi)部類對象隱含地保存了一個引用,指向創(chuàng)建它的外圍類對象。然而,當內(nèi)部類是static的時,就不是這樣了。嵌套類意味著:
1. 要 ......
提起Java內(nèi)部類(Inner Class)可能很多人不太熟悉,實際上類似的概念在C++里也有,那就是嵌套類(Nested Class),關于這兩者的區(qū)別與聯(lián)系,在下文中會有對比。內(nèi)部類從表面上看,就是在類中又定義了一個類(下文會看到,內(nèi)部類可以在很多地方定義),而實際上并沒有那么簡單,乍看上去內(nèi)部類似乎有些多余,它的用處對于初 ......
package search;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 讀取目錄及子目錄下指定文件名的路徑 并放到一個數(shù)組里面返回遍歷
*
*
*/
public class FileViewer {
public static void search(String path, String[] Extention, boolean isdepth, ......
Java讀取地理信息數(shù)據(jù)文件,并將其存入Oracle數(shù)據(jù)庫。
package file;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; ......
總結
以上是生活随笔為你收集整理的java基础知识大全,java 基础知识点汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 频谱泄露 振动 matlab,关于MAT
- 下一篇: matlab中怎样将字母倒叙,如何用ma