课上, 老师出了一个题:
考察:1、类的定义 2、类的属性 3、类的方法、重载、构造方法、代码块
题目是这样的:
设计 一个 类:Tree
要求:
1、包含main方法
2、属性:静态: String name ; double height; double growgrate
3、构造方法: a.从“种子开始长”。b。直接”移植“
4、其他方法 void grow(time)
{ height = , Sysem.out,println(......);}
我是这样做的:
package classworks; public class Tree { static String name; static double height ; static double growgrate =1.1; double time; static { height = 0; name = "种子"; System.out.println( "名字:" + name + ", 高度 " +height + " " ) ; } void grow(double time) { name = "松树"; height = time * 1.1 + growgrate; System.out.println( "名字:" + name + ", 高度 " +height + " " ) ; } } class Info{ double height; String name; public Info(double height){ name = "小树"; this.height = height; } public Info(String name,double height ) { this.name = name; this.height = height; } public void showInfo(){ System.out.println(" 名字: "+name+" ,高度: "+height+" "); } } class main{ public static void main(String[] args){ Tree p = new Tree(); p.grow(12); Info q1 = new Info(12); q1.showInfo(); Info q2 = new Info("大树",22); q2.showInfo(); } }
之后又修改了下:
package classworks; import static classworks.Info.height;import static classworks.Tree.height;public class Tree { static String name; static double height ; static double growgrate =1.1; double time; //其它方法 void grow(double time) { name = "松树"; height = time * 1.1 + growgrate; System.out.println( "名字:" + name + ", 高度 " +height + " " ) ; } }//构造方法class seed{ static double height; static String name; public seed(){ height = 0; name = "种子"; System.out.println( "名字:" + name + ", 高度 " +height + " " ) ; }} class Info{ static double height; static String name; public Info(double height){ name = "小树"; this.height = height; } public Info(String name,double height ) { this.name = name; this.height = height; } public void showInfo(){ System.out.println(" 名字: "+name+" ,高度: "+height+" "); } } class main{ public static void main(String[] args){ Tree p = new Tree(); p.grow(12); new seed(); Info q1 = new Info(12); q1.showInfo(); Info q2 = new Info("大树",22); q2.showInfo(); } }
总结:
构造方法
构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
构造方法 - 为何使用构造方法
是一种特殊的方法,它的作用是用来初始化的数据,实现类的。 在编写类的成员数据时,就需要编写初始化这些数据的构造方法。
构造方法 - 关键字this
妙用关键字 什么是this this代表当前对象,其本质是实例方法中对该方法所在实例的引用
this的用处
当引用对象的某个成员时,可以用“this.成员名”来表示 还可以用“this.方法名”来引用当前对象的某个方法 this的另一个用途是:在一个构造方法中调用当前对象的其它构造方法; 注意:这样的语句必须作为构造方法的第一条语句
注意事项
this只能用在方法中; this不能用在静态方法中 Simple use of the "this" 调用一个方法,使得它的返回值为一个句柄!