学习时间:20210824
学习内容:
一、类
1.基本概念
简单来说,就是对象抽象出来的东西。比如说,苹果、香蕉抽象出水果。
主要的话,类里面的定义应该分为三类,一个是属性,一个是动作(方法),一个是构造方法
构造函数的话,我没看明白具体是做什么,大致目前理解是一个比较特殊的函数,然后初始化用。
代码示例:
public class studyClass {
// 属性
int x;
// 构造函数
public studyClass(int _x){
x=_x;
}
// 动作
public void getValue(){
System.out.println(x);
}
}
class test1{
// 进行调用,用new调用
public static void main(String[] args) {
studyClass s = new studyClass(4);
s.getValue();
}
}
`作业题:
public class studyClass {
//定义一个点类(x,y),要求可以进行特殊点调用,能够设置点的坐标(内置方法),计算两个点的距离
double x, y;
studyClass(double _x, double _y) {
x = _x;
y = _y;
}
void setPoint(double _x, double _y) {
x = _x;
y = _y;
}
public double getDistance(studyClass s) {
return (s.x - x) * (s.x - x) + (s.y - y) * (s.y - y);
}
}
class test2 {
public static void main(String[] args) {
studyClass s1 = new studyClass(4.0, 3.0);
studyClass s2 = new studyClass(6.0, 30);
System.out.println(s1.getDistance(s2));
s1.setPoint(6.0, 30);
System.out.println(s1.getDistance(s2));
}
}
2. 构造器的重载
听了老师讲了半天,就感觉不知道为什么要来讲一下,我就把作业做一下,感觉和普通的重载一样,要是理解有错的话,后面再来改改。
重载构造器,使得能够直接new来定义相应的参数
public class studyClass {
double x, y;
studyClass() {
}
studyClass(double _x, double _y) {
this.x = _x;
this.y = _y;
}
public double getDistance(studyClass s) {
return (s.x - x) * (s.x - x) + (s.y - y) * (s.y - y);
}
}
class test2 {
public static void main(String[] args) {
studyClass s1 = new studyClass(4.0, 3.0);
studyClass s2 = new studyClass(6.0, 30);
System.out.println(s1.getDistance(s2));
}
}
3.注意
课程的79-84都随便听了听。主要是讲JVM,应该是非常重要的,这个等后面先找文档多看看,最后再看视频。
4.static
还是拿构造函数举例子,其实基本能理