javathis參數
① this()在java中什麼意思
this表示類實例本身。
this的用法:
1、表示對當前對象的引用!
publicclassA{
publicAgetA(){
returnthis;//表示獲取當前實例本身
}
}
2、表示類的成員變數,而非函數參數,注意在函數參數和成員變數同名是進行區分!
publicclassA{
privateinta=0;//位置1
publicAgetA(inta){
this.a=a;//前面this.a表示位置1的a,賦值=號右側的表示參數a
}
}
3、用於在構造方法中引用滿足指定參數類型的構造器。
publicclassA{
publicA(inta){
}
publicA(){
this(1);//這里調用自身的構造函數publicA(inta){
}
}
② JAVA 中this做參數是怎麼回事啊
回復:比如一個繼承了Frame的類中有一個按鈕,為按鈕添加監聽器則可以寫成:button.addListener(this);這里鄭彎尺的this就是當前JFrame類的實例。
給你舉個例子:
首先,建兩個類:都具有參數m
class A{
public int m = 3;
A{
B b = new B();
System.out.println(m);
System.out.println(this.m);
System.out.println(b.m);
}
public void static main(String args[])
{A a = new A();}
}
class B{
public int m = 0;
B(){m = 100}
}
在A類的構造方法中分別輸出了m,this.m,以及b.m,輸出的值分別應該是3、3、100。
下面我們來看this是什麼,this指的是當前類實例或者當前類,之所以m與this.m相同,是鬧頌因為這兩個參數是一個參數,第一個白話就是輸出A的m值,第二個的白話就是輸出當前類實例的m值,因為main中是實例化A的對象,所以this說的是當前A類實例a,上面的兩個參數翻譯過來就是m和喊高a.m,不知道說明白了嗎,希望對樓主有幫助~~
③ 大神,java中this怎麼作參傳遞
this代表當前對象,只能在本類中使用
例如本類定義為A,引遲凳用類B,類B中有方法歲旦巧參數值為類A,那麼A中調用類B的那個方乎鍵法,就可以使用this傳遞
④ java中對this作為參數傳遞:
A.print{ print "Hello from A!"}
B(a).print{a.print(); print "Hello from B"}
A的櫻游判構造脊改函數 新建磨圓了一個new B(this),並調用了B.print.在B.print中調用了A.print
⑤ Java中this.變數名=傳入參數和 變數=傳入參數,有什麼區別
兩種寫法沒區別。用伏或不用this只是個習慣問題。
但是在以下情況下必須用this。否則你區分不出age到底是傳入的參數,還是類定義的變數雹廳猛
publicclassSomeClass
{
intage;//變數名為age
publicvoidsetAge(intage)//參數名也叫age
{
this.age=age;//用源橋this區分變數和參數
}
}
⑥ java中this的用法
1. this指當前對象。
當在一個類中要明確指出使用對象變數或函數時加上this引用。如下面例子中:
public class Hello {
String s = "Hello";
public Hello(String s){
System.out.println("s = " + s);
System.out.println("1 -> this.s = " + this.s);
this.s = s;
System.out.println("2 -> this.s = " + this.s);
}
public static void main(String[] args) {
Hello x=new Hello("HelloWorld!");
}
}
運行結果:
s = HelloWorld!
1 -> this.s = Hello
2 -> this.s = HelloWorld!
在這個例子中,構造函數Hello中,參數s與類Hello的變數s同名,這時直接對s進行操作則是對參數s進行操作。對類Hello的成員變數s進行操作就應該用this進行引用。運行結果的第一行就是直接對構造函數中傳遞過來的參數s進行列印結果;
第二行是對成員變數s的列印;第三行是先對成員變數s賦傳過來的參數s值後再列印,所以結果是HelloWorld!
2. this作為參數傳遞
當你要把自己作為參數傳遞給別的對象時如:
public class A {
public A() {
new B(this).print();
}
public void print() {
System.out.println("Hello from A!");
}
}
public class B {
A a;
public B(A a) {
this.a = a;
}
public void print() {
a.print();
System.out.println("Hello from B!");
}
}
運行結果:
Hello from A!
Hello from B!
在這個例子中,對象A的構造函數中,new
B(this)把對象A作為參數傳遞給了對象B的構造函數。
⑦ java this的參數
此處this("");調用了這個類重載的有參隱叢賣的構造鄭薯方法,因為是有參數的,所以要傳遞一個參數進去,在這里是灶逗用了一個空字元串當參數。
⑧ java中this的用法
java中this有兩種用法:
1、代表當前類
public class Dog{
private String name;
private float age;
public setName(String name){
this.name = name;
}
.......
}
這里的this就代表的當前的這個Dog類。this.name可以理解為dog.name,只是理解,不是等於。
2、在構造函數中的使用
public class Dog{
private String name;
private int age;
//有一個參數的構造函數
public Dog(String name){
this.name = name;
}
public Dog(String name,int age){
this.name = name;
this.age = age;
}
//這個無參構造方法里調用的有兩個參數的構造方法,這個也就是this的第二種用法了!
public Dog(){
this("nihao",20);
}
}
⑨ java中用this做參數是什麼意思
this在JAVA中就禪稿是褲李"我"胡襲遲的意思,指這個類本身:
例如
class Student{
private int sid=5;
public int getsid(){
return this.sid;//這里返回就是sid本身
}
public static void main(String[] args){
Student s=new Student();
s.getsid();
}
}
⑩ java:從發行版8開始,'this'只能作為接收方類型參數名,該參數必須為第一個參數
因為你的Search方法里多了個括弧,導致
p = new Pet[count];
int f = 0;
for(int j=0;j<this.pets.length;j++){
if(this.pets[j]!=null){
if(this.pets[j].getName().indexOf(keyword)!=-1||this.pets[j].getColor().indexOf(keyword)!=-1){
p[f] = this.pets[j];
f++;
}
這爛伏段代碼不在方法裡面,而跑到類裡面去了
其它還有大小寫錯誤、未實現Pet介面的getColor方飢鍵攜法亮薯等若干問題。。