4.1类和对象
*this的使用
this关键字作为自身的引用,其作用就是在类的自身方法中引用该类自身。
public class Car
{public String name,color;
public int oil;
public Car(String name1,int getOil)
{this name=name1;
this oil=getOil;}
pubic void run(int speed)
{ this oil-=speed;
System.out.println(speed);}
}
*在同一个类中,类的成员变量是不能重名的,但方法或语句中的局部变量是可和类的成员变量重名的,这时候必须使用this来限定和区分是否是类变量。
public class Car
{public String name,color;
public int oil;
public Car(String name,int oil)
{this name=name;
this oil=oil;}
pubic void run(int speed)
{ this oil-=speed;
System.out.println(speed);}}
*方法间的互相应用也可以使用this关键字。
*this引用也可以用于构造方法中作为默认引用。
注意:this调用语句必须是构造函数中的第一个可执行的语句。
4.2方法
方法是类或对象的行为特征的抽象,是类或对象最重要的组成部分。
方法不能独立存在,方法必须属于类或对象。因此,如果需要定义方法,则只能在类体内定义。
*使用static修饰方法
用static修饰的方法属于这个类,因此即使没有创建该类的具体对象,类中用static修饰的方法也会存在。
类名.方法名([实参表]);
*静态方法(类方法)属于类,或者说属于该类的所有对象所共有。
对象名.静态方法名([参数表]);
注意:静态方法中不能使用this引用。
静态方法只能处理静态属性、调用静态方法。
*不使用static修饰的方法属于该类的对象,不属于类。因此,方法必须使用对象做调用者。
对象名.方法名([实参表]);
注意:1.方法不能独立定义,只能在类体里定义。
2.从逻辑意义上看,方法要么属于类,要么属于对象,因此,执行方法必须 使用类或对象作为调用者。
3.同一个类中的方法互相调用时,如果被调用方法是普通方法,则默认使用 this作为调用者,如果方法是静态方法,则 默认使用类作为调用者。
*方法的参数传递
注意:Java里方法的参数传递方式为值传递---将实际参数值的副本(复制品)传入方法内,而实际参数值本身不会受到任何影响。
1.基本类型的变量作方法参数。
2.引用类型的变量作方法参数。
*形参长度可变的方法
形参长度可变的方法定义:如果在定义方法时,在最后一形参的类型后增加三点...,则表明该参数可以接受多个参数值,多个参数值被当成数组传入。
public static void outClassInfo(String cname,String... sname)
{ //在方法体内将参数sname当成数组;
for(String student:sname)
{ System.out.println(student);}
}形参长度可变的方法调用
outClassInfo("软件技术","张三","李四","赵六");