# **構(gòu)造方法**
```java
//構(gòu)造方法抄沮,用于在內(nèi)存中創(chuàng)建對(duì)象
public Phone(){
System.out.println("我被構(gòu)造了");
}
//構(gòu)造方法
public Phone(double kuan ,double gao,int zhong,String yanse){
width=kuan;
high=gao;
weight=zhong;
color=yanse;
}
public Phone(double kuan ,double gao,int zhong) {
width = kuan;
high = gao;
weight = zhong;
}
作用:幫助開辟內(nèi)存空間跋核,創(chuàng)建對(duì)象
特征:
1沒有返回值
2名字要求和類完全一致,區(qū)分大小寫
3分為有參構(gòu)造方法和無(wú)參構(gòu)造方法
3.1無(wú)參構(gòu)造方法不管是否書寫叛买,都會(huì)存在
3.2有參構(gòu)造方法需要手動(dòng)編寫砂代,參數(shù)個(gè)數(shù)可以自定義
方法重載:
上面的三個(gè)構(gòu)造方法==》方法重載
1在同一類中
2方法名字相同
3 參數(shù)不同
3.1參數(shù)的個(gè)數(shù)不同
3.2參數(shù)的類型不同
3.3參數(shù)類型的順序不同
toString
public String toString(){
return "{"+this.width+""+this.high+""+this.weight+""+this.color+"}";
}
作用 :把對(duì)象按照人能夠理解的方式重寫
this
public Phone(double width ,double high,int weight,String color){
this. width=width;
this. high=high;
this. weight=weight;
this. color=color;
}
表示當(dāng)前對(duì)象(誰(shuí)調(diào)用當(dāng)前方法,this指代的就是誰(shuí))
Object類
是所有類的父類 率挣,但凡有其他的類被創(chuàng)建刻伊,Object一定會(huì)被創(chuàng)建
Object 類中有一些固有的方法辫樱,即便沒寫友浸,其他所有類中都有這些方法
equals()原生的:比較的是兩個(gè)對(duì)象的地址是不是相同,一般不能滿足使用,推薦用戶復(fù)寫
public boolean equals(Object obj) {
return (this == obj);
}
toString()原生的:返回的是對(duì)象的內(nèi)存地址
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
static 靜態(tài)的
可以修飾成員屬性备埃,還可以修飾方法
被修飾的成員创译,類一旦創(chuàng)建负饲,便分配了內(nèi)存空間呼股,可以直接通過(guò)類名.方法()的方式調(diào)用
不需要對(duì)象既可以使用,通過(guò)對(duì)象也可以調(diào)用晨川,但是不推薦
沒有被修飾的成員节沦,必須等待對(duì)象被創(chuàng)建,才擁有獨(dú)立的內(nèi)存空間础爬,只可以通過(guò)對(duì)象名.方法()調(diào)用
final最終的
被final修飾的成員甫贯,值一旦被寫定,不能再被輕易修改
類成員的執(zhí)行順序
public class Demo01 {
//2 普通的屬性或者代碼塊其次執(zhí)行看蚜,從上往下執(zhí)行
int size=1;
//代碼塊
{
size=10;
}
//1 被static最先執(zhí)行叫搁,都被修飾的從上往下執(zhí)行
static{
count=3;
}
static int count=30;
//3 最后執(zhí)行構(gòu)造方法
public Demo01(){
System.out.println(size);
System.out.println(count);
}
}
內(nèi)部類
和普通的成員一樣,擁有相對(duì)應(yīng)的便用方式
public class Demo02 {
String name;
int age;
public void fun(){
System.out.println("普通的成員方法");
}
class Inner {
int sex;
double hight;
public void fun01() {
System.out.println("內(nèi)部類中的普通方法");
}
}
}
權(quán)限管理
pubilc default proteted private