zoukankan      html  css  js  c++  java
  • Java学习笔记(三)

    对象的构造以及初始化:

    调用本类构造方法:this

    调用直接父类工作方法:super

    This或者super要放在第一条语句,而且只有一条

    如果没有thissuper 编译器会自动加上super构成不带参数的构造法方法

    内部类的定义:

    将类的定义置于一个类的内部即可,编译器生成xxxx$xxxxclass文件,内部类不能与外部类同名。 在封装其他类的内部使用方法与普通类相同,若要在其它地方使用,需要在类名前要冠以外部类的名字,在用new创建一个内部类时候,也要在new前面冠以对象变量 即就是 外部对象.new 内部类名(参数) 

    内部类可以直接访问外部类的字段及方法 如果内部类中有与外部类同名的字段或方法,可以用 外部类名.this.字段

    内部类与成员,它前面也可以用访问控制字符和其他修饰符:访问控制字符:publicprotectprivateFinal abstract

    Static修饰符:可以用来修饰内部类 用力啊表示该内部类实际上是一种外部类。因为它与外部类实例无关。在使用的时候1在实例化static类时,在new前面不需要用对象实例变量2‘static类不能访其外部类的非static字段以及方法,即只能访问static成员。3’static方法中不能访问非static的域及方法,也不能够不带前缀的new一个非static的内部类

    局部类的特点:不能够用publicprivateprotectedstatic等修饰,但是可以被final或者abstract修饰。可以访问其外部类的成员。不能够访问该方法的局部变量,除非是final局部变量。

    例如 

    class Outer
    {
        private int size =5;
        public Object makeTheInner(int localVar)
        {
            final int finalLocalVar = 99;
            class Inner{
                public String toString()
                {
                    return ("Innersize:" + size+"finallocvalvar"+finalLocalVar);
                }
            }

            return new Inner();
        }
    }

    匿名类:

    1:不取名字,直接用其弗雷或接口的名字。

    2:类的定义的同时就创建实例,即类的定义前面有一个new

     New 类名/接口名()

    {……}

    不使用关键词class,也不使用extendsimplement

    3:在构造对象时,使用父类的构造方法。

    不能够定义构造方法,因为它没有名字。如果用new对象时,要带参数,则使用父类的构造方法。

    如一个比较大小的排序接口:

    Array.<Book> sort (books,new Comparator<Book>(){

    Public compare(Book b1,Book b2)

    {

    Return b1.getPrice() - b2.getPrice();

    }});

  • 相关阅读:
    通过 SSH 实现 TCP / IP 隧道(端口转发)
    解决 github 无法登录的问题
    微信平台开发
    微信小程序图表控件
    微信小程序网络排查指引
    python 垃圾回收
    javascript keycode大全
    excel数据批量转mysql 语句
    对 OpenCV 中 getRotationMatrix2D 函数和仿射变换的一点理解
    Aspose.Cells
  • 原文地址:https://www.cnblogs.com/KID-XiaoYuan/p/7739734.html
Copyright © 2011-2022 走看看