十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
前面学习了如何定义一个类,下面来学习如何使用一个类
成都创新互联公司专注于宣州网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宣州营销型网站建设,宣州网站制作、宣州网页设计、宣州网站官网定制、小程序定制开发服务,打造宣州网络公司原创品牌,更为您提供宣州网站排名全网营销落地服务。1:new 关键字
假如定义了一个表示日期的类,有三个整数变量;日、月和年的意义即由这些整数变量
给出。如下所示:
class MyDate {
int day;
int month;
int year;
}
名称 MyDate 按照大小写的有关约定处理,而不是由语意要求来定。
那么怎么来使用这个类呢:在你可以使用变量之前,实际内存必须被分配。这个工作是
通过使用关键字 new 来实现的。如下所示:
在一个方法体中,声明
MyDate today;
today = new MyDate();
第一个语句(声明)仅为引用分配了足够的空间, 而第二个语句则通过调用对象的构造方法为构成 MyDate 的三个整数分配了空间。对象的赋值使变量 today 重新正确地引用新的对象。这两个操作被完成后,MyDate 对象的内容则可通过 today 进行访问。
关键字 new 意味着内存的分配和初始化,new 调用的方法就是类的构造方法。
使用一个语句同时为引用 today 和由引用 today 所指的对象分配空间也是可能的。
MyDate today = new MyDate();
2:如何使用对象中的属性和方法要调用对象中的属性和方法,使用“.”操作符。
例如:
today.day = 26;
today.month = 7;
today.year = 2008;
3:this 关键字
关键字 this 是用来指向当前对象或类实例的,功能说明如下:
3.1:点取成员
this.day 指的是调用当前对象的 day 字段,示例如下:
public class MyDate {
private int day, month, year;
public void tomorrow() {
this.day = this.day + 1;
//其他代码
}
}
Java 编程语言自动将所有实例变量和方法引用与 this 关键字联系在一起,因此,使用关键字在某些情况下是多余的。下面的代码与前面的代码是等同的。
public class MyDate {
private int day, month, year;
public void tomorrow() {
day = day + 1; // 在 day 前面没有使用 this
//其他代码
}
}
3.2:区分同名变量
也有关键字 this 使用不多余的情况。如,需要在某些完全分离的类中调用一个方法,并将当前对象的一个引用作为参数传递时。例如:
Birthday bDay = new Birthday (this);
还有一种情况, 就是在类属性上定义的变量和方法内部定义的变量相同的时候, 到底是调用谁呢?例如:
public class Test{
int i = 2;
public void t(){
int i = 3; //跟属性的变量名称是相同的
System.out.println(“实例变量 i=”+ this.i);
System.out.println(“方法内部的变量 i=”+ i);
}
}
也就是说:“this.变量”调用的是当前属性的变量值,直接使用变量名称调用的是相对距离最近的变量的值。
3.3:作为方法名来初始化对象
也就是相当于调用本类的其它构造方法,它必须作为构造方法的第一句。示例如下:
public class Test {
public Test(){
this(3);//在这里调用本类的另外的构造方法
}
public Test(int a){
}
public static void main(String[] args) {
Test t = new Test();
}
}