JAVA自学日记——Part Ⅱ

今天学习了类与对象,其中关于this关键字的用法,static静态变量与静态方法,以及引用传递需要特别注意一下。

首先是引用传递:

在本段程序中可以通过进行外部对类对象的属性赋值来更改,同时也可以通过外部方法来对类对象属性进行修改。最后的结果为:

值得注意的地方为:如果将temp的类型改为String类型,结果仍然被改变。String在堆空间内是无法被修改的,但是在类对象内,每次对属性的修改都会再次开辟新空间,如果仅仅在主方法内进行字符串的修改,其输出结果是不会有变化的:

 

下面为this关键字的使用方法:

1.表示类中的属性和调用方法。

2.调用本类中的构造方法。

3.表示当前对象。

 

例如在构造方法中

public people(String name,int age){

this.name = name;

this.age = age;

}

通过这种方法才可以达到赋值的目的,this来表示本类中的属性,没有this关键字则无法进行赋值。

 

用this关键字可以调用本类中的构造方法。

在上面的构造方法的基础上再添加一个无参数的构造方法。

public people(){

System.out.println("无参数构造函数");

}

想要在构造方法是调用此无参构造方法,需要将原构造方法改写为:

public people(String name,int age){

this();                                                    //一定要把调用写到最开始,否则编译错误

this.name = name;

this.age = age;

}

 

第三种用途就是用来表示当前对象:

 

 

 

Static关键字的使用:

被Static修饰的成员被称为静态成员,不用static修饰的叫做实例成员。

Static变量相当于全局变量,被保存在公共存储单元中,类中若含有static变量,必须要独立于方法之外。

与静态变量相同,用static修饰的方法是属于类的静态方法:

1.非static方法是属于某个对象的方法。static方法是属于整个类的,被所有对象共用。

2.static方法不能操纵和处理属于某个对象的成员,只能访问static成员变量或调用static成员方法,不能访问实例变量和实例方法。

3.在静态方法中不能使用this或super。

4.调用静态方法是,最好使用类名直接调用。

 

posted @ 2016-03-16 16:35  陈一鸣Leo  阅读(110)  评论(0编辑  收藏  举报