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版)》学习指导
    ...

  • 相关阅读:
    Java基础——clone()方法浅析
    Unity shader error: “Too many texture interpolators would be used for ForwardBase pass”
    ar 解压一个.a文件报错: xxx.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
    How to set up "lldb_codesign" certificate!
    Unity-iPhone has Conflicting Provisioning Settings
    ETC1/DXT1 compressed textures are not supported when publishing to iPhone
    Xcode 提交APP时遇到 “has one iOS Distribution certificate but its private key is not installed”
    XCode iOS之应用程序标题本地化
    苹果电脑(Mac mini或Macbook或iMac)恢复出厂设置
    Unity 4.7 导出工程在XCode10.1上编译报错
  • 原文地址:https://www.cnblogs.com/cy1123/p/5327395.html
Copyright © 2011-2022 走看看