掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。
(1) 使用构造函数完成各属性的初始赋值
(2) 使用get…()和set…()的形式完成属性的访问及修改
(3) 提供计算面积的getArea()方法和计算周长的getLength()方法
package 作业;
public class Rectangle {
private double width; //定义
private double height;
private String color;
public Rectangle(double width, double height, String color) {
this.setWidth(width);
this.setHeight(height); //定义有3个参数的构造方法,再对其进行初始化
this.setColor(color);
}
public Rectangle() {
// TODO Auto-generated constructor stub //无参构造
}
public void setWidth(double width) {
this.width = width;
}
public void setHeight(double height) {
this.height = height;
}
public void setColor(String color) { //设置宽度,长度和颜色
this.color = color;
}
public double getWidth() {
return width;
}
public double getHeight() {
return height;
}
public String getColor() { //取得宽度,长度和颜色
return color;
}
public double getArea() {
return this.width*this.height; //计算面积
}
public double getGetlength() {
return (this.height+this.width)*2; //计算周长
}
public static void main(String[] args) {
Rectangle a=null;
a = new Rectangle(); //声明对象,并进行实例化和赋值
a.width=5.0;
a.height=6.0;
System.out.println(+a.getArea()); //输出
System.out.println(+a.getGetlength());
}
}
再运行代码时出现了一个错误Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor Rectangle() is undefined,检查后发现需要定义一个无参构造,public Rectangle() {
// TODO Auto-generated constructor stub
}
这道题目还是不难的,因此错误也不多。
有两种比较方法1、通过==进行内容的比较。2、使用equals()方法对String的内容进行比较。
对象不同,内容相同,"=="返回false,equals返回true。
同一对象,"=="和equals结果相同。
如果值不相同,对象就不相同,所以"==" 和equals结果一样。
两种方法的区别是==是Java提供的关系运算符,主要是进行数值相等判断的。
equals()是由String提供的一个方法,专门负责进行字符串内容的比较。
使用String直接赋值后,只要是以后声明的字符串内容相同,则不会再开辟新的内存空间。对于String的以上操作,在java中称为共享设计,
这种设计思路是,在java中形成一个对象池,在这个对象池中保存多个对象,新实例化的对象如果已经在池中定义了,则不再重新定义,
而从池中直接取出继续使用。String就是因为采用了这样的设计,所以当内容重复时,会将对象指向已存在的实例空间。
在书本的P110
s.concat("E");对s添加新的元素E。
s.replace(‘C‘, ‘F‘);把C替换成F
replace可以进行替换,也可以用来删除。
在开发过程中,通常很多人都习惯使用new Date()来获取当前时间。new Date()所做的事情其实就是调用了System.currentTimeMillis()。如果仅仅是需要或者毫秒数,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上会高一点。如果需要在同一个方法里面多次使用new Date(),通常性能就是这样一点一点地消耗掉,这里其实可以声明一个引用。
System.currentTimeMillis()+36001000)可以这样解读:System.currentTimeMillis()相当于是毫秒为单位,但是,后头成了1000,就变成了以秒为单位。那么,3600秒=1小时,所以输出为当前时间的1小时后。
我们可以这样控制时间:System.currentTimeMillis()+time1000),里面传入的time是以秒为单位,当传入60,则输出:当前时间的一分钟后。
本周课堂上内容都听懂了,关于课堂习题自己错误的,也已经搞清楚了,而且自己还自学了一点点,坚持,努力加油下去。
原文:https://www.cnblogs.com/neir/p/11551463.html