java学习第9天总结

烈酒焚心 提交于 2019-11-27 00:33:57

Day9

1.抽象(abstract): 抽取公共的抽象的属性 ,或者是方法。
抽象方法的语法: public abstract void show();

注意点:
1.在返回值前面加上这个关键字abstract
2.抽象方法都没有方法体 {};
3.抽象方法必须在抽象类里,反之, 抽象类里不一定是抽象方法,可以是普通的方法>>
4. 抽象方法 一般调用是没有意思 ,只有子类 重写之后才能产生意义
5.子类 继承了抽象类,子类必须重写父类的抽象方法, 除非子类也是一个抽象方法.
6.抽象类不能够被实例化,也就是不能够 new 出来
7.抽象类的构都是为了给其子类进行赋值,调用 父类的sper();

2.抽象类的语法是: public abstract 类名{ }
抽象类 vs 普通类
区别: 1.抽象类必须用abstract 关键字来修饰 2. 抽象类不能够被实例化

 抽象方vs 普通方法:                       
 1. 抽象方法也用abstract 关键字来修饰      2.抽象方法是没有方法体
  1. 多态 : 一种事物有多种形态

       1.多态必须在继承的前提下  
       2.多态里一般都会方法重写
       多态的语法:   父类的对象  对象名称   = new  子类的对象();
                      父类的对象引用执行之类对象的引用 (向上转型)
    
       3.多态里成员变量的获取: 在多态里, 编译看左边,赋值看右边
                          //  多态中获取成员变量都是看左边
    
    
       4.在多态里方法是如何获取:调用方法结论:  编译看左边 ,运行看右边
    
    
       5.多态的向上转型的语法: 父类 对象名称 = new   子类()  类似于  向上自动类型转换
                                          Pet pet = new Dog()
    
                   // 缺点: 不能 调用自己独有的方法 
                  //  向下进行转换(还原 成原来的样子)
                           语法:  子类  子类名称= (子类向上转型的对象名
                                        Dog dog  =(Dog)pet
    
             // 如果还原的不正确会产生一个错误: 强制类型转换异常 java.lang.ClassCastException
    
               解决问题  instanceof   判断是否能够  还原成功    
                         instanceof 在强制类转换之前,  判断是否能够  还原成功 
    
                           多态的两种体现形式 第一种是 以父类作为参数, 第二种是以父类作为返回值
    
    
                          内存图:
    

4.接口 ( implements ): 也就是一些规范 , 也就是定义一习方法. interface
接口的语法 : public interface 接口的名称{
}

    注意点: 
    1.接口里的方法都是抽象方法   
    2. 接口编译后也是一个class 文件 
    3. 实现类必须实现接口里所有的方法
    4. 接口不能够被实例化, 只能实例化 实现类
    5.接口里的方法都是抽象方法,系统默认会加上  public  abstract不可以有普通方法
    6.接口没有构造方法:     实现类都是 干爹,   只存在一个爸爸
 接口:是为了解决java 中的单继承问题 
     实现多个接口的语法:  implements 接口1,接口2       implements  Pager,Link  

5.接口里的变量:在接口里不能有变量 ,只能有常量. 会给常量默认加上一个 public
//开发里常用的
public static final String NAME=“hhh”;

6.开发中最常见的三种赋值方法 1.通过传递父类参数 2.set 3.通过构造

总结:今天主要学习了java三大特性中的多态,学习内容有1.抽象(abstract)2.抽象类的语法 3. 多态 4.接口 ( implements ) 5.接口里的变量 6.开发中最常见的三种赋值方法 多态也算是一个难点了,多数人学习的时候都说比较难理,但这个是很重要的,一句话概括就是:事物在运行过程中存在不同的状态。但还是难理解,哈哈。

不懂的问题:.“多态里成员变量的获取: 在多态里, 编译看左边,赋值看右边”这个内容不懂???

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!