• 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(......);}

    我是这样做的:

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

  • 相关阅读:
    Tiny6410 交叉编译helloworld程序
    Tiny6410 设备驱动之helloworld
    Tiny6410 LED字符设备驱动
    STM32移植UCGUI3.90笔记
    USB2.0学习笔记连载(十九):EZ-USB TRM手册重要部分介绍
    USB2.0学习笔记连载(十八):keil实现寄存器的配置及相关函数讲解(二)
    USB学习笔记连载(二十):FX2LP如何实现高速和全速切换(转载)
    USB2.0学习笔记连载(十七):keil实现寄存器的配置及相关函数讲解(一)
    USB学习笔记连载(十五):USB固件更新以及安装驱动
    USB学习笔记连载(十六):USB数字签名
  • 原文地址:https://www.cnblogs.com/zhaocundang/p/4936949.html
Copyright © 2020-2023  润新知