zw501970830 发表于 2019-3-31 21:54

【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;//求圆的面积
      }
      
      
      
      
}

总结一点:代码多敲,视频作为辅助看一遍就行,代码敲上三遍,效果非常好

zw501970830 发表于 2019-3-31 21:56

新手一个,各位大佬多多指点,有好的学习方式可以说一说

jihousai 发表于 2019-3-31 22:35

14天估计还没有pojo,entity等实体类的概念,像构造器和set/get方法这些是以后最基本也很常用的东西,不需要注释。
需要注释的主要是业务逻辑,初学的话就比如你注释的哪些是矩形,那些事圆,然后怎么求面积等,为了复习用。
另外需要注释的就是一些需要特别注意的点,比如反射和反序列化时需要无参构造器,注释是为了强化记忆。

zw501970830 发表于 2019-3-31 22:46

jihousai 发表于 2019-3-31 22:35
14天估计还没有pojo,entity等实体类的概念,像构造器和set/get方法这些是以后最基本也很常用的东西,不需 ...

你说那些类还没有接触到, 14天刚刚学到面向对象的接口,从进入面向对象就是迷迷糊糊的了,大佬说的我下次会多多注意

longsui48 发表于 2019-4-1 03:05

面向对象写多了就会了 多写就行了 你这样记忆也会忘得

zw501970830 发表于 2019-4-1 10:22

longsui48 发表于 2019-4-1 03:05
面向对象写多了就会了 多写就行了 你这样记忆也会忘得

嗯,原来方法不对,我是看视频多,都不怎么敲代码的{:1_907:}
页: [1]
查看完整版本: 【Java】这样的代码笔记是不是通俗易懂