【Java】这样的代码笔记是不是通俗易懂
本帖最后由 zw501970830 于 2019-4-1 18:58 编辑学习第14天,有点懵, 英语不好,上课听不懂~只能自己课下整理笔记让他易懂一些
/**
* 多态的应用之1:多态数组
* 元素的类型是父类,元素的对象是子类的对象
*
*
*/
public class Duotai3 {
public static void main(String[] args) {
//用一个数组,管理3个矩形对象和两个圆对象
TuXing[]arr = new TuXing;
//元素的类型是父类的类型TuXing
//三个矩形面积
arr = new JuXing(2,3);
arr = new JuXing(1,3);
arr = new JuXing(4,3);
//两个圆形面积
arr = new Yuan(2.3);//圆形的半径
arr = new Yuan(4.3);//圆形的半径
//统一管理子类的对象
for (TuXing tuXing : arr) {
System.out.println(tuXing.getArea());//直接tuXing点方法求面积
//执行的是子类的重写方法,因为元素中存储的是子类的对象
}
}
}
class TuXing{//父类
//此方法为了让子类进行重写,用多态引用调用方法
public double getArea(){
return 0.0;
}
}
class JuXing extends TuXing{//子类JuXing继承父类TuXing
private double chang;//定义矩形的长的属性
private double kuan;//定义矩形宽的属性
//生成有参构造
public JuXing(double chang, double kuan) {
super();
this.chang = chang;
this.kuan = kuan;
}
//生成get和set方法
public double getChang() {
return chang;
}
public void setChang(double chang) {
this.chang = chang;
}
public double getKuan() {
return kuan;
}
public void setKuan(double kuan) {
this.kuan = kuan;
}
//重写方法
public double getArea(){
return chang*kuan;
}
}
class Yuan extends TuXing{//子类Yuan继承父类TuXing
private double banjing;//定义圆的半径属性封装
public Yuan(double banjing) {
super();
this.banjing = banjing;
}
//无参构造器
public Yuan() {
super();
}
//使用快捷键生成get和set方法
public double getBanjing() {
return banjing;
}
public void setBanjing(double banjing) {
this.banjing = banjing;
}
public double getArea(){//方法
return Math.PI*banjing*banjing;//求圆的面积
}
}
总结一点:代码多敲,视频作为辅助看一遍就行,代码敲上三遍,效果非常好 新手一个,各位大佬多多指点,有好的学习方式可以说一说 14天估计还没有pojo,entity等实体类的概念,像构造器和set/get方法这些是以后最基本也很常用的东西,不需要注释。
需要注释的主要是业务逻辑,初学的话就比如你注释的哪些是矩形,那些事圆,然后怎么求面积等,为了复习用。
另外需要注释的就是一些需要特别注意的点,比如反射和反序列化时需要无参构造器,注释是为了强化记忆。 jihousai 发表于 2019-3-31 22:35
14天估计还没有pojo,entity等实体类的概念,像构造器和set/get方法这些是以后最基本也很常用的东西,不需 ...
你说那些类还没有接触到, 14天刚刚学到面向对象的接口,从进入面向对象就是迷迷糊糊的了,大佬说的我下次会多多注意 面向对象写多了就会了 多写就行了 你这样记忆也会忘得 longsui48 发表于 2019-4-1 03:05
面向对象写多了就会了 多写就行了 你这样记忆也会忘得
嗯,原来方法不对,我是看视频多,都不怎么敲代码的{:1_907:}
页:
[1]