7.28笔记

复习{
 抽象: 
   什么是抽象?
      类是 对象的 抽象 , 抽象体现在java中抽象类
      比类还要抽象的,是类的半成品,比抽象类还要抽象
      的是接口, 一般抽象的思想都是 以设计层面考虑问题
      会有具体的实现类 实现其功能; 
     
 java中 体现抽象的思想就是从两方面
    抽象类, 接口
  
  抽象类的特点:  
     使用abstract关键字修饰,有构造器
     不能new对象, 只能被子类继承
     一个抽象类中 可以有抽象方法,也可以有普通方法
   一个抽象方法所在的类 一定是 抽象类
   
  接口: 被称为完全抽象, 接口的结构为
     静态常量 , 抽象方法 , 不能 创建对象
     没有构造器 ,存在的意义就是被用来实现的
      implements , 一个接口可以被 多个了实现
    一个类可以实现多个接口
    ,接口和 接口之间是 继承关系,支持多继承
    
 枚举: enum
    用来设计程序中 一些 固定的 属性,个数事物
     例如: 四季 , 月份, 性别 ....
     public enum Season{
     }  
        
 枚举的组成部分: 
  1.专有名词, 2.属性  3.方法  4.构造器  5.静态块儿 ,6.游离块儿      
 
   第一个行 必须是专有名词, 当对象, 属性使用
     
  枚举不能创建对象, 是不类 , 是一个特殊的类
  一般跟  switch 连用
--------------------------------------------------------
1.类和类之间的关系    (纯理论)
      继承关系
      实现关系
      依赖关系: 从语义级别考虑,具有临时性,偶然性,弱性依赖
                    从代码的级别考虑, 类B作为 类A中方法 的入参,被 类A 使用
                  
 继承  实现
 依赖 < 关联 < 聚合 < 组合
---------------------------------------------------------
2.内部类:      类  的 内部   的 类  它的作用 就是为了 封装
     |-- 成员内部类: 
            作为类的成员
     
     1.Inner类 能不能 或Outer类的所有资源?    
          经过测试, 内部类可以用到外部类的所有 资源
           无论是 公共的还是私有的;
       
      2.外部类 不可以用 内部类的 所有资源,无论是 公共的 还是私有的
            如果想要获取到 就必须 new 内部类 Inner的 对象
     
      3.测试类 : 
         |--   Outer.Inner inner = new Outer().new Inner();     
         
                inner只代表 内部类
            
         |--  Outer o = new Outer():
            o是外部类的对象
            
            Inner i = o.new Inner();
            i是内部类的对象
            
     |-- 静态内部类     static
                1.静态内部类 是不可以加载 外部类的 非静态资源的
                2.外部类想要加载内部类的资源必须 创建内部类的对象
                3.测试类:  new Outer.Inner(); 外部类.静态内部类
     
     |-- 方法内部类
            1.方法内部类 依然可以使用外部类的所有资源
            2.外部类的别的方法是 不能使用方法内部类的资源的,也不能创建对象
                只能在外部类的方法体中,内部类下面
                 创建内部类的对象 并调用方法
           3.测试类: 测试类 是永远都不能创建方法内部类的对象的
                        只有调用这个方法的时候 才会 new Inner();
                        而且必须是手动在方法体重  new Inner();
     
     |-- 匿名类:
           只针对 接口 , 抽象类 使用
     
           出现在方法体中:
            main , 普通方法
            
           作用:     匿名 类,  作用在不影响 原始功能更的情况下,
                     可以  临时的 修改功能, 拓展功能
                         

3.对象数组: 
     数组 : byte , int , short , long ,double ,float , char 
          boolean 
          
         int[] arr  = new int[3];
         arr[0] = 9;
         arr[1] = 5;
         arr[2] = 8;
         
        类类型[] persons = new 类类型[3];
        
     例如: Person[] p = new Person[4];  
          
          Person p1 = new Person();
          
          p[0] =  p1;
          
   new Person(); //自定义对象
   new Student();
   new Dog();
   new Cat();
          
       对象数组中  存储的是 对象的引用; 
       
       循环遍历时 ,返回的 时 对象 
       
       要通过对象 才能调用对象中的属性 和方法
       
       对象数组数组只能存储同一个数据类型
       
       Object[] obj = new Object[3];
       这个对象数组是万能的容器,什么类型都可以存储
  
    com.oracle.test5.Person@15db9742 
    代表了 new Person("张三",23); 在堆中的内存地址
    由 包名 + 类名 + 地址
     
      
   
   
     
     
     
     
    

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值