Java【小考】
课上, 老师出了一个题:
考察:1、类的定义 2、类的属性 3、类的方法、重载、构造方法、代码块
题目是这样的:
设计 一个 类:Tree
要求:
1、包含main方法
2、属性:静态: String name ; double height; double growgrate
3、构造方法: a.从“种子开始长”。b。直接”移植“
4、其他方法 void grow(time)
{ height = , Sysem.out,println(......);}
我是这样做的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 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只能用在方法中; this不能用在静态方法中 Simple use of the "this" 调用一个方法,使得它的返回值为一个句柄!

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!