A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Mr.KevinヾY1n 中级黑马   /  2016-12-23 22:51  /  1492 人查看  /  0 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

9.3.2:多态(掌握)
        (1)某一类事物的多种存在形态。
                **方法重载(静态多态)
                **方法重写(动态多态,对象多态)
        (2)对象多态的前提
                A:类与类(或接口)要有继承(或实现)关系。
                B:一定要有方法的重写。
                C:一定要有父类或者接口的引用指向子类的对象。
        (3)多态思想:可以指挥同一类型的一批对象做事情。多态的出现让我们复杂的问题简单化了。
                A:Animal Cat Dog
                        **method(Animal a){a.eat();}
                B:同学们吃饭
                C:士兵打仗(抬枪,瞄准,射击)。
        (4)多态中成员的特点:(我们只研究特殊的,就是说名字一样的东西)
                Fu f = new Zi();
                A:成员变量:编译和运行都看Fu。
                B:非静态方法:编译看Fu,运行看Zi。
                C:静态方法:编译和运行都看Fu。
               
                举例:        动物的例子:
                        向上转型
                        Animal a = new Cat();
                        a.eat();
                        //a.catchMouse();

                        向下转型
                        Cat c = (Cat)a;
                        c.eat();
                        c.catchMouse();

                        //向上转型
                        Animal a = new Dog();
                        //向下转型 转换异常
                        //Cat c = (Cat)a;
                        Dog d = (Dog)a;

                        孔爹的例子:
                        孔爹:教课(Java)
                        孔子:教课(论语),看小说(),打游戏()。

                        孔爹 k = new 孔子();//穿上他爹衣服,就跟着去了
                        k.教课(论语)。
                        //k.看小说();

                        孔子 kz = (孔子)k;//把衣服脱了
                        kz.教课(论语);
                        kz.看小说();
                        kz.打游戏();

9.4.3:Object(掌握)
        (1)Object类:java中所有类的父类。它是java类体系结构中的根类。
                     java中的类都直接或者间接继承自Object类。
        (2)学习了里面的几个方法:重点掌握 toString(),equals()。
                A:boolean equals(Object obj)
                   指示其他某个对象是否与此对象“相等”。
                B:String toString()
                   返回该对象的字符串表示。
                C:int hashCode()
                   返回该对象的哈希码值。
                D:Class<?> getClass()
                   返回此 Object 的运行时类。
                E:protected void finalize() 了解
                   当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
                   **final,finally,finalize
        (3)重点看下面两个方法
        //重写toString()方法
        public String toString()
        {
                //return "HelloWorld";
                return "name:"+name+",age"+age;
        }

        //重写Object的equals方法
        public boolean equals(Object obj)//s2--obj
        {
                //为了提高效率
                if(this == obj)
                {
                        return true;
                }

                //为了程序的健壮性
                if(!(obj instanceof Student))//格式:对象 instanceof 具体的类名
                {
                        return false;
                }

                Student s = (Student)obj;
                if(this.age==s.age)
                {
                        return true;
                }
                else
                {
                        return false;
                }
        }

10.第10天
Equals                        ['i:kwəls]判断两个字符串是否相等
Memory                        ['meməri] 记忆,内存,存储器
OutOfMemoryError   在内存之外的错误:内存溢出(专业说法)
Heap                                 [hi:p] 堆
Space                                [speis] 空间
Java heap space  Java堆内存
Throw                                [θrəu] 抛出,投掷
Throws                        [θrəuz] throw的复数形式
Finally                        ['fainəli] 最后,最终
Message                        ['mesidʒ] 消息,信息,通知
Try                                [trai]  尝试,试图
Catch                                [kætʃ] 捕获,捕捉,抓住
Close                                [kləuz] 关闭,结束
Open                                ['əupən] 打开,公开
Add                                [æd] 添加,增加
Prelect                        [pri'lekt ] 讲课,讲演

eclipse中用到的单词
Refresh                        [ri'freʃ] 更新,刷新
Edit                                ['edit]  编辑
Project                        [prədʒekt] 项目,工程,计划


必会知识点:
10.1.1,内部类
1,格式(理解)
2,访问方式(掌握)
3,匿名内部类(必须掌握,就业班后面常用)

10.2.2,异常
1,异常的体系(理解)
2,异常处理方式(理解)
3,自定义异常(掌握,后面就业班会用到)

10.3.演讲内容:
1,构造器Constructor是否可被override? (演讲内容,面试题)

2,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?(演讲内容,面试

题)


11.第11天
Directory                        [ di'rektəri ]  目录
Throwable                        [ 'θrəuə'ei bl        ] 直译是可抛出的,在Java中指异常类.
ClassCastException            ("类型错误"),类型转换异常
Runtime                                [run'taim] 运行时间   
RuntimeException     运行时异常
Current                                 ['kʌrənt]  当前的,现在的
Arithmetic                        [ə'riθmətik ] 算数

eclipse中用到的单词
Preference                        ['prefə rəns]  个人喜好/在汉化版中是"属性"
rename                                 [,ri:'neim] 改名,重新命名  (F2快捷键)
template                         ['templit] 模板



必会知识点:
11.1.1:包(掌握)
        (1)包:package
                A:对类文件进行分类管理
                B:给类提供多层命名空间
                C:放在程序代码的第一行(注释除外)

        (2)访问:先得有包,然后:包.类名
                如何解决手动创建包的问题呢?
                javac -d xxx PackageDemo.java

                -d 后面跟的是:目录
                当前目录:.
        (3)不同包之间类的访问
                类一定要用全路径名称:包名.类名

2:protected
        包之间的继承关系。

11.2.3:import(掌握)
        简化类名。
        一个程序文件中只有一个package,可以有多个import。
        用来导包中的类,不导入包中的包。
       
        通常写import  mypack.Demo;
        而不写import mypack.*;为什么?

11.3.4:权限修饰符(掌握)
                        同一个类中     同一个包中        不同包中子类中    不同包中,不存在继承关系
private        OK                               
默认                OK                                Ok               
protected        Ok                                        Ok                                Ok
public                OK                                Ok                                OK                                        OK


11.4.5:关键字用来修饰什么?(掌握)
                                类                        属性                方法                构造方法
private                                        OK                OK                OK
默认                        OK                Ok                        Ok                        OK
protected                Ok                        Ok                        OK
public                        Ok                        Ok                        Ok                        OK
static                                                Ok                        Ok       
final                        Ok                        Ok                        Ok       
abstract                Ok                                                Ok       

特殊:private和static可以修饰内部类。不用掌握。
      static可以代码块。静态代码块。掌握。

        A:权限修饰符任意时刻只能使用一种。
        B:static,private,final不能和abstract并用。

11.5.6:jar(掌握)
        (1)打包:
                jar -cf haha.jar packa       
        (2)查看jar包
                jar -xvf haha.jar
        (3)如果内容特别多,好几个屏幕都放不下,
           假使我们能够通过某个命令,讲这些目录写入到一个记事本中。看起来就方便了。
                jar -tf haha.jar > c:\a.txt

11.6.演讲内容
1, 是否可以从一个static方法内部发出对非static方法的调用?(面试题)
答案:不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直

接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪

个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用是不成立的。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马