一.final关键字

    1.final关键字修饰变量,表示变量不可以被改变,如果想修改,编译器不会接受的。 注意:final关键字定义的变量必须赋值

       public  static final   修饰  白送和i全局常量    定义时,必须赋值、(常用)

    

    2.final修饰方法    这个方法不能被重写

          可以防止子类修改该类的定义与实现方式

    3.final修饰类    这个类不能被继承

          一个类不让任何类继承,并且不让其他人对这个类进行任何改动

二:内部类

    1.什么事内部类

        就是再类中,再定义一个类,内部类分为,成员内部类,局部内部类,匿名内部类

    2.什么是成员内部类

        在一个类中使用内部类,可以再内部类中 直接存取 所在类的所有私有成员,就是说,内部类,可以随意使用外部类的成员方法,成员变量

        内部类对象与外部类对象关系紧密,内外可以交互使用,彼此类中定义的变量

        可以使用this关键字获取内部类与外部类

  

      注意; 再内存中,所有的对象是放在堆中的,方法和方法中的形参,或者局部变量  是放在栈中的

    

    3.什么是局部内部类

        内部类不仅仅可以放在类中定义,还可以再类的局部位置定义,如 在类中的方法或者任意的作用域中 都可以定义为内部类

    4.什么是匿名内部类

        在一个方法中,将return语句和内部类定义语句合并在一起

          return  new B()

          {

            //内部类实体

           }

        例子 :

        interface BB(){};

        public class  AA()

        {

          public BB  doit()

          {

            return new BB()

            {

              private num=0;

              public int getValue(){return num};   //再java编译的时候,doit方法内部 会先返回一个BB的引用,然后return语句中插入一个定义内部类的代码,这个类是没有名称的

              //作用: 这种内部类的作用就是创建一个实现与BB接口的匿名类的对象

            }

          }

        }  

     注:匿名内部类编译以后,会产生 “外部类名$序号”为名称的 .class文件,序号一  1 到  n   排序,分别表示1到n个 匿名内部类

  

    5。什么是静态的内部类

        就是在内部类的前面加一个static ,一个静态内部类中可以声明static成员,但是非静态内部类中不可以声明静态成员。用的比较少

    

java基础讲解10-----类的高级特性的更多相关文章

  1. Java基础教程(10)--类

    一.声明类   你已经见过了以如下方式定义的类: class MyClass { // field, constructor, and method declarations }   上面是声明类的最 ...

  2. Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字

    Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字 一丶Java中包的机制 首先包其实就是个文件夹.作用就是管理类. Java中每次定义一个类的时候.通过Java编译之后.都会生 ...

  3. Java第五次作业--面向对象高级特性(抽象类与接口)

    Java第五次作业--面向对象高级特性(抽象类与接口) (一)学习总结 1.在上周完成的思维导图基础上,补充本周的学习内容,对Java面向对象编程的知识点做一个全面的总结. 2.汽车租赁公司,出租汽车 ...

  4. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  5. Java第四次作业——面向对象高级特性(继承和多态)

    Java第四次作业--面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能, ...

  6. Java基础之File类的使用

    Java基础之File类的使用 1.File类的构造方法和常用方法 2.对File中listFile(FileNameFilter name)学习 3.与File文件类相关的实现 File类的构造方法 ...

  7. JAVA基础(10)——IO、NIO

    转载:http://blog.csdn.net/weitry/article/details/52964948 JAVA基础系列规划: JAVA基础(1)——基本概念 JAVA基础(2)——数据类型 ...

  8. Java第四次作业—面向对象高级特性(继承和多态)

    Java第四次作业-面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能,说 ...

  9. 多测师讲解常用的测试工具分为10类_高级讲师肖sir

    我们将常用的测试工具分为10类. 1. 测试管理工具 2. 接口测试工具 3. 性能测试工具 4. C/S自动化工具 5.白盒测试工具 6.代码扫描工具 7.持续集成工具 8.网络测试工具 9.app ...

  10. 夯实Java基础系列10:深入理解Java中的异常体系

    目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...

随机推荐

  1. 【树状数组】Codeforces Round #423 (Div. 1, rated, based on VK Cup Finals) C. DNA Evolution

    题意跟某道我出的等差子序列求最值非常像…… 反正询问的长度只有10种,你就建立10批树状数组,每组的公差是确定的,首项不同. 然后询问的时候只需要枚举询问串的每一位,找找这一位对应哪棵树状数组即可. ...

  2. [DesignPattern]Builder设计模式

    模式的定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 模式的使用场景 相同的方法,不同的执行顺序,产生不同的事件结果时: 多个部件或零件,都可以装配到一个对象中,但是 ...

  3. Ubuntu 16.04搭建原始Git服务器

    说明:不要把有限的生命浪费到权限斗争中! 1.安装SSH sudo apt-get install openssh-server sudo service ssh start 2.安装Git sudo ...

  4. andriod inputType

    <EditText Android:layout_width="fill_parent" android:layout_height="wrap_content&q ...

  5. BlackBerry10 开发环境搭建

    最近开始学习BlackBerry10的开发,黑莓10系统是2013年1月30日黑莓公司正式发布的,目前网上资料比较少,这篇博客的内容基本上是按照官网上的文档写的.BlackBerry10目前支持C/C ...

  6. openwrt开源系统LUCI配置界面

    转自:http://www.right.com.cn/forum/thread-131035-1-1.html 本人菜鸟,最近在学习这方面的知识,在参考资料的基础上总结如下内容.这篇文章针对如何对op ...

  7. toFixed()方法

    1.定义 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 2.示例 Show the number 13.37 with one decimal: <script t ...

  8. poj3592 Instantaneous Transference tarjan缩点+建图

    //给一个n*m的地图.坦克从(0 , 0)開始走 //#表示墙不能走,*表示传送门能够传送到指定地方,能够选择也能够选择不传送 //数字表示该格的矿石数, //坦克从(0,0)開始走.仅仅能往右和往 ...

  9. Android之通知使用权

    通知使用权打开方式 设置--提示音和通知--通知使用权. 具体界面如图: 存在须要拥有通知使用权应用时: 不存在须要拥有通知使用权应用时: 用户为应用勾选复选框后系统弹dialog须要用户进一步确认时 ...

  10. Linux115条常用命令

    1,echo “aa” > test.txt 和 echo “bb” >> test.txt //>将原文件清空,并且内容写入到文件中,>>将内容放到文件的尾部2, ...