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" 调用一个方法,使得它的返回值为一个句柄!

posted @   zhaocundang  阅读(671)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示