7.26笔记

复习{
继承关系: 
  面向对象 重要特性之一:  
    封装 , 继承  ,  多态, 抽象

  继承的作用? 
    可以提高程序的延展性,减少代码冗余
    
    public class Person{
    
          public Person(String name){
              this.name = name;
          }
         
         String name;
    }
  
    public class Student extends Person,Haha{
         
         public Student(String name){
              super(name);
         }
    
    }

  子类继承父类后有什么特点? 
   1.子类会继承父类的所有 公共资源,子类独有的方法 ,父类获取不到
         
   2.构造方法不能被继承, 只能被 子类构造器调用
         super();  super(参数列表); this(); 必须放在构造器第一行
    
   3.java中 继承 支持多重继承,不允许 多继承 
           
   4.方法的重写:
        在继承中,方法名相同, 参数列表相同(个数相同,顺序, 类型), 返回值相同,就是方法的重写
             @Override 检测 
=======================================================================
多态: 
  前提  一定是 继承 ,没有继承 就没有多态
 
  概念: 同一种事物的  ,不同种 表现形态    孙悟空

 在java中能体现 多态的 代码有几种 形式?  
   
         1.将 一个 父类 类型 ,作为 方法的入参
          2.父类  变量名 = new 子类();      必选的
               父类引用 指向了 子类对象
           3.??
     
     instanceof 关键字 用来判断 两个类型是否相同
        if(pet instanceof Dog){   在继承中,需要调用子类独有方法或属性时,才会用intanceof
             Dog dog = (Dog)pet;
             dog.say();
        }      
     
     向上转型:  Pet pet = new Dog();
     向下转型:  Dog dog = (Dog)pet;
     
在多态的情况下:     
     编译时类型: 父类类型, 编译期间 调用不了子类独有的属性和方法 
     运行时类型: 子类类型 , pet 就会字段转换为 子类 类型
           
--------------------------------------------------  
final关键字: 
   1.可以修饰属性:
             用final 修饰的属性  必须初始化 ,而且 不可以被 二次修改
             
             有几种 初始化方式:  2种 
               1.=赋值
               2.构造器赋值
             
   2.可以修饰方法:
            因为 被final 修饰的方法不能被重写
            
            
   3.可以修饰类
         用final修饰的类 不可以被继承
         就不可以拓展,
         
 

         


}

 
 
 
 
 
 
 
 
 
 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值