课上, 老师出了一个题:

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

Java【小考】的更多相关文章

  1. 第一次java小考心得体会

    本周四Java第一次上课,测试了一个ATM程序,从两点半开始到五点半结束. 整整三个小时,结果怎么说呢,大概可以用惨不忍睹来形容吧. 因为之前有一个测试样卷,以为考试内容不会变的我,只是把学生信息管理 ...

  2. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  3. 20145205《Java程序设计》课程总结

    每周读书笔记链接汇总 20145205 <Java程序设计>第1周学习总结 20145205<Java程序设计>第2周学习总结 20145205 <Java程序设计> ...

  4. Java语言程序设计课程学期总结

    2016-2017 第2学期 课程介绍 编程类课程,76学时(44理论+32实验),学期末还有1周的课程设计. 问题与现状 4个班共120人,教师无法逐一检查每个学生的编程实验. 纸质作业质量不高. ...

  5. Java的输入语句以及本周对于文件读写的研究

    日期:2018.9.20 博客期:010 星期四 ##:今天下午要考试 java(小考)!那么,我就应对相应的方法给出策略吧! 首先是 Java 里的输入语句,我一般是用Scanner类,用这个之前要 ...

  6. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  7. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  8. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  9. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

随机推荐

  1. 理解 OpenStack 高可用(HA) (6): MySQL HA

    本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...

  2. javascript适合移动端的响应式瀑布流插件实例演示

    在线预览 jQuery插件大全 实例代码 <div class="sucaihuo-container"> <div class="demo" ...

  3. HTML5 Content Editable实践

    基于此开发文档:https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/Content_Editable 问题:通过contenteditabl ...

  4. 如何找回Oracle中system,sys用户的密码[转]

    Oracle中如果不知道system,sys用户的密码后可用如下方法找回: 首先以一个普通用户等入数据库: 在SQL*Plus中执行如下命令: SQL>connect/as sysdba (也可 ...

  5. oracle应该安装在什么版本的linux下

    今天想在我的ubuntu上安装oracle 11g r2,在网上所有了一些教程,然后找到了oracle官网网站的Operating System Requirements,内容如下: Operatin ...

  6. Quartz2D复习(一)--- 基础知识 / 绘制线段圆弧 / 图片水印 / 截图

    1.Quartz 2D是一个二维绘图引擎,同时支持ios和Mac系统: Quart2D的API是纯C语言的,API来自于Core  Graphics框架: 2.Quartz 2D可以绘制图形(线段/三 ...

  7. 【CoreData】多个数据库使用

    在实际开发中,往往需要每个模块使用不同数据库,而CoreData也具备这样的功能,使用起来也很方便: 首先我们创建2个模型文件(School和Educationist) // 1.创建模型文件 (相当 ...

  8. linux 系统权限 数字含义

    摘抄: sudo chmod XXX dir_name XXX是你要设置的权限代号,第一位代表Owner,第二位代表Group,第三位代表Others XXX中0代表什么都不可以,1代表可执行,2代表 ...

  9. NSoperation线程通信

    全局变量 @property (weak, nonatomic) IBOutlet UIImageView *imageView; @property (nonatomic, strong) NSOp ...

  10. 【Android】神奇的android:clipChildren属性

    前言 前几天有在微博上推荐过一个博客,看他文章时发现了这个属性.有些属性不常用,但需要的时候非常有用,于是做了个例子,正好项目用到,与大家分享一下. 声明 欢迎转载,请注明出处! 博客园:http:/ ...