您的位置:首页 > 编程语言 > Java开发

java初级第10天笔记资料

2016-07-15 18:27 344 查看
/**

一、字符串常量池-(了解即可)

        

        特点及作用:存储在【方法区】中,可以【重复的利用】已有的【字符串对象】->【节约内存】

        

        字符串

          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{

         }

        

        

    

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: