zoukankan      html  css  js  c++  java
  • # 20145118 《Java程序设计》第4周学习总结 ## 教材学习内容总结

    20145118 《Java程序设计》第4周学习总结

    教材学习内容总结

    本周内容为教材第六、七两张内容。
    重点概念:
    1.面向对象中,子类继承父类,避免重复的行为定义,是一种简化操作。
    2.要在头脑中形成“程序中重复即不好”的概念,能简则简。

    package.cc.openhome;
    public class Role {
       private String name;
       private int level;
       private int blood;
    
       public int getBlood() {
           return blood;
       }
    
       public void setBlood(int blood) {
           this.blood = blood;
       }
    
       public int getLevel() {
           return level;
       }
    
       public void setLevel(int level) {
           this.level = level;
       }
    
       public String getName() {
           return name;
       }
    
       public void setName(String name) {
           this.name = name;
       }
    }
    

    上图即是定义一个继承中的"父类".
    3.子类与父类之间会有一种"is-a"的关系.这是一种单向的关系! 如:

    Role rolel = new SwordsMan();
    

    SwordsMan swordsMan = nes Role();
    

    是不一样的,前者能通过编译,而后者"顺序相反"了!
    4.在JAVA中,子类只能继承一个父类!!
    5.JAVA中有3个权限关键字:public protected private.如果没有出现以上权限词,则默认为包范围.权限大小依次为 private 无关键字 protected public.
    6.注意一个小细节:JAVA中有一个内建的标注事@Override,在子类中某个方法前标注它时,表示要求编译程序检查,如果输入错误会有提示. 如:

    public class SwordMan extends Role {
       ...
       @Override
       public void Fight() {
           System.out.println("挥剑");
       }
    }
    

    7.如果某方法区块中没有任何代码,可以使用abstract表示该方法为抽象方法,不用撰写{}区块,直接:结束即可.如:

    package cc.openhome
    
    public abstract class Role {
    ...
    public abstract void fight();
    )
    

    注意,标记为abstract的类不能用来生成实例!!
    8.java中所有对象都是一种java.lang.Object.
    9.对于定义行为,在JAVA中可以用interface来定义,这是符合我们逻辑习惯的一种方法.

      package cc.openhome;
    
    public interface Swimmer {
        public abstract void swim();
    }
    

    上例只定义了接口,接口可以用于定义行为但不定义操作!!!所以要想拥有接口定义的行为,就必须操作接口.

    package cc.openhome;
    
    public abstract class Fish implements Swimmer {
        protected String name;
        public Fish(String name) {
            this.name = name;
        }
        public String getName() {
            return name;
        }
        @Override
        public abstract void swim();
    }
    

    10类要操作接口,必须使用implements关键字!
    11.在Java中,类可以操作两个以上的类,即拥有两种以上的行为.可以把接口当作一种"种类".
    12.接口中的方法没有操作时,一定是公开且抽象,此处public abstract可以省略.
    13.枚举常数案例

    package cc.openhome;
    
    import static java.lang.System.out;
    
    public class Game {
        public static void main(String[] args) {
            play(Action.RIGHT);
            play(Action.UP);
    }
    
    public static void play(int action) {
        switch (action) {
            case Action.STOP:
                out.println("播放停止动画");
                break;
            case Action.RIGHT:
                out.println("播放向右动画");
                break;
            default:
                out.println("不支持此动作“);
         }
      }
    }
    

    教材学习中的问题和解决过程

    上面用play()接口定义枚举常熟的方法有些繁琐,可用enum语法来代替。

    package cc.openhome;
    
    public enum Action {
        STOP, RIGHT
    }
    

    enum继承自java.lang.Enum,注意Enum类不能随便用。
    ”父子关系“不只存在于类中,还存在于接口中,类可以同时继承某个类,接口可以继承自另一个接口,这段话看着很拗口,但联系书中的案例来看就很清晰了~类相当于海洋动物园中的不同动物,接口相当于动物中存在的某种共性。

    代码调试中的问题和解决过程

    本周没有自己再写代码,只是研究借鉴书上的代码,所以暂时没有碰到调试问题。

    本周代码托管截图

    其他(感悟、思考等,可选)

    本周的任务量还是两章,说实话觉得自己掌握的并不够好。。可能因为现在的概念和之前接触到的没有什么大的联系,完全是新的知识,所以接受起来需要一定的时间来慢慢消化。特别是第七章中的概念,看文字部分时有些费力,但联系书上的例子就好接受一些了。默默地给自己加个油吧。。。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 20篇 200小时
    第一周 100/100 1/1 14/20
    第二周 100/100 1/1 7/10
    第三周 120/100 1/1 9/10
    第四周 200/200 1/1 7/10

    参考资料
    l Java学习笔记(第8版)
    l 《Java学习笔记(第8版)》学习指导
    ...

  • 相关阅读:
    三种回归算法及其优缺点
    线性回归于逻辑回归的区别
    置信度与置信区间
    js表单验证是否为合法数据
    unity变换游戏对象
    Unity克隆物体
    Unity创建游戏对象_位置,大小,旋转
    Unity GUI获取玩家名字并在控制台输出
    算法竞赛入门经典_暴力求解法
    java Swing组件的对齐问题2
  • 原文地址:https://www.cnblogs.com/cy1123/p/5327395.html
Copyright © 2011-2022 走看看