java初级第10天笔记资料

/**
一、字符串常量池-(了解即可)
        
        特点及作用:存储在【方法区】中,可以【重复的利用】已有的【字符串对象】->【节约内存】
        
        字符串
          String:固定字符串,不可变字符串(对象里存储的字符不能更改)
          StringBuilder:可变字符串(对象里存储的字符可以更改)
          StringBuffere:可变字符串(对象里存储的字符可以更改)
          
         string intern:始终返回字符串对象在【字符串常量池】中对应的内容的【字符串对象】。
      --》利用常量池-》节约内存。
    
     1)常量池的对象调用intern:直接返回自己的对象。
         
     2)堆里的对象调用intern:如果常量池有对应内容的对象,直接返回常量池对象,没有,
      创建一个字符串对象在常量池中,再返回。
       String创建对象的两种方式-》已经利用字符串常量池
        1)字符串字面值
            语法:"字符串内容"
        2)new对象
           new String(字符串内容)
      
        String(String original)
      copy参数original的内容到新字符串对象中,并返回新对象。
    
       注意点
       1)字符串字面值--》可以利用字符串常量池
       2)new String(字符串内容)--》不可以利用字符串常量池
      
      --->怎么选择==》使用字符串字面值--》可以利用字符串常量池--》节约内存
二、面向超类型编程-》
    1)定义超类型员工Staff
    2)具体员工-继承Staff
    3)超类型员工Staff-定义统一功能-工作
    4)具体员工-重写-工作功能
 
    超类型--》普通类-存在的问题
    1)具体类【可以不重写】必须重写的方法
    2)具体类-作为超类型,【也可以创建对象】-》new Staff
      不应该创建对象,因为Staff是我们抽象出来的,不是业务需要的类。
      
三、抽象类:也是类,相比普通类而言,多了可以定义抽象方法

    抽象方法 ?
        就是有功能名字,没有功能实现。
    抽象方法有什么用?
        有时候,类中有一些功能不能确定具体怎么完成,就可以定义为抽象的方法
    抽象和具体不是一定的:由需求,由客户决定
        
          abstract:抽象的
          抽象类的定义语法
          abstract class 抽象类名{
                
                //成员变量,静态变量,构造器....
                //多了【抽象方法-(特殊成员方法)】
          }
          
          抽象方法的定义语法
          访问修饰符  abstract    返回值类型    方法名(参数列表);
          
         抽象类注意点
          
          1)抽象类可以拥有0到多个抽象方法
          2)普通类不能拥有抽象方法,有抽象方法必须定义为抽象类。
          3)抽象类不能(实例化)创建对象
          4)抽象类的子类型
                 a)普通类:对于父类抽象类的所有的抽象的方法-》必须全部实现(重写)
                 b)抽象类:对于父类抽象类的所有的抽象的方法-》可选实现(重写)
          5)abstract不能和static一起使用-》面向对象
          6)abstract不能和final一起使用-》矛盾了  
          
四、接口是什么?
    生活中,usb(传输数据,充电),指纹(解锁,支付),wifi(传输数据,上网)就是接口!!
    简单理解接口:就是描述了一套抽象功能的集合,就是能完成的事情,但是不做实现!!!
 
 
             接口和抽象类:包含了抽象的功能,不能创建对象。
             都是作为超类型-》规范统一的数据和功能来使用。
             
             怎么选择?接口和抽象类
             1)如果超类型中有【数据也有功能】---》抽象类】
             2)如果超类型中【只有功能】---》接口
             
             定义接口的语法
             interface 接口名{
                     //公共的抽象的方法
                     //公共的静态的常量-(用的少)
             }
             公共的抽象的方法:【public abstract】 返回值类型  方法名(参数列表);
             注意:【public abstract】可以不写,默认加上。
             
             公共的静态的常量:【public static final】  数据类型  常量名[=值1],...;
         注意:【public static final】可以不写,默认加上。
        
         1)类和类的关系
         类可以单继承类:在子类中可以得到继承链上所有的【数据和功能】
         类Person继承类Animal
          class Person extends Animal{}
        
         2)类和接口的关系
         类可以多实现接口:在子类中得到接口中所有的【抽象-功能】
        类Person继承类Animal,实现Runnable接口(可以跑的),实现Flyable接口(可以飞的)
        class Person [extends Animal] [implements Runnable,Flyable]{}
        
         3)接口和接口的关系
         接口可以多继承接口:在子接口中得到所有继承的接口中所有的【抽象-功能】
         接口A,继承接口B和C
         interface A extends B,C{
         }
        
        
    
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值