zoukankan      html  css  js  c++  java
  • JAVA基础知识笔记

    1、类只能用Public修饰,不能使用protected、private修饰。也可以不加修饰符,称做友好类。

    2、类的实体元素包含成员变量和方法的定义,成员变量分为实例变量和类变量(static修饰的变量),方法分为实例方法和类方法(static修饰的方法)。

    3、类里面定义的变量称为成员变量,方法里面定义的变量以及方法的参数定义的变量称为局部变量。

    4、类方法(static修饰的方法)只能操作成员变量的类变量,而实例方法既可以操作成员变量的实例变量,又可以操作成员变量的类变量。

    5、方法的定义: public void 方法名(){ }   方法必须含有返回类型void/string/int等等(构造方法除外)

    6、每个类都有构造方法,构造方法的方法名与类名相同,并且没有类型(返回类型),如果类中没有自己声明构造方法,类会创建自己默认的构造方法,如果类中创建了构造方法,则系统不再创建默认构造方法。

    7、使用类名进行声明对象:class name;  使用new 关键字和类的构造方法为对象分配内存空间。  name=new class();

    8、package 关键字,声明包  package 包名; import 关键字,import name; 导入包中的类,name命名使用标识符,或者多个标识符使用 . 连接。

    9、方法和变量可以使用public(公共的)、protected(受保护的)、private(私有的)修饰符修饰,也可以不加修饰符,称作友好方法、友好变量。

    10、权限:public>protected>友好的>private。

    11、public 类型的类(公共类),不同的包里面的类可以调用。

            private类型的方法和变量,在定义的对象中不能调用操作。

            protected类型的方法和变量与友好的(不加类型)方法和同一个包里面可以互相调用,但是不同的包之间的两个类,不能互相调用。

            public类型的方法和变量,可以互相调用。(此处看不出protected类型与友好类型的区别,后面在继承方面可以发现区别

                类内部 本包 子类  外部包 
     public       √    √   √    √
     protected    √    √   √    ×
     default      √    √   ×    × 
     private      √    ×   ×    ×

           

         

    12、重载:一个方法可以通过(参数的个数或(和)数据类型的不同)来实现函数重载。方法的类型(返回类型和参数名称不参与比较),例如两个方法的名称相同,即使类型不同,也要保证参数的个数或(和)数据类型不同。 包含多个参数的话,参数的数据类型不同,改变参数顺序也可以实现重载。

    重载的最直接作用是方便了程序员可以根据不同的参数个数,顺序,类型,自动匹配方法,减少写过个函数名或方法名的重复步骤。

    13、继承(extends)语法是:   class 子类名 extends 父类名{ }   

           如果一个类的声明中没有使用extends关键字,这个类被系统默认为是Object的直接子类,Object是java.lang包中类。

    14、子类与父类在同一个包中,子类继承了父类中不是private类型的成员变量和方法。

            子类与父类不在同一个包中,子类继承了父类中public、protected类型的成员变量和方法,不能继承友好变量和友好方法。

    15、成员变量的隐藏和方法的重写。子类继承父类的成员变量和方法,如果子类自己定义的成员变量和父类的成员变量同名时,子类就隐藏了父类的成员变量。如果子类自己定义的方法和父类的方法同名,同时参数个数和数据类型、返回类型完全相同,就是将方法重写。通过方法的重写可以隐藏继承的方法。子类重写父类方法时,不可以降低方法的访问权限。例如父类方法是protected类型,重写方法不能是友好类型方法,可以是public类型方法。

    16、final关键字,final可以修饰类、成员变量、方法、方法参数。

           final修饰类,则该类不可以被继承。

           final修饰方法,则该方法不可以被重写。

           final修饰成员变量,则该变量就是常量,必须赋给初值,而且不能再发生变化。

    17、上转型对象。子类创建对象的引用可以放到父类的对象中,就得到了该对象的一个上转型对象。

    18、多态。父类的某个方法被子类重写后,可以产生自己的功能行为。多态是在继承的基础上体现的,没有继承就谈不得多态。

    19、super关键字。子类覆盖了父类的成员方法,或者重写了父类的方法,可以在子类中,使用super调用父类的方法和成员对象。--需完善

    20、abstract关键字。用abstract关键字修饰的类是抽象类,抽象类可以拥有抽象方法,抽象类里面的抽象方法只能声明,不能实现。抽象类不能被new对象,只能通过子类继承调用,子类里面需要覆盖抽象父类的抽象方法。抽象类只能是Public、protected类型,也只能这样才能被继承调用。抽象类里面的成员变量是静态常量,不能被改变。

            抽象类的抽象方法一定不能有实现(也就是不能有大括号),子类必须要override覆写抽象方法,从而让继承类的行为有一定规范;抽象类的方法不一定都是抽象方法,但抽象方法所在的类必须是抽象类;抽象类不能实例化,抽象类的继承类被实例化后可以直接调用抽象类的方法(抽象方法除外,抽象方法被继承类 override),不希望实例化而直接调用方法就可以用抽象类;

    21、interface关键字。定义接口interface name。接口里面的方法只能声明,不能实现。接口不能使用new对象,只能通过被“实现”,“实现”子类必须实现接口声明的方法,一个类可以实现多个接口。使用implement实现接口。

    22、内部类。类的内部声明类,子类可以使用外面类的成员变量和方法,外面类可以实例化内部类的对象。

    23、匿名类。使用类声明对象时,可以重写父类里面的方法。class name=new class(){};

    24、逻辑运算符。   

    &     &&

    无论长路与还是短路与
    两边的运算单元都是布尔值
    都为真时,才为真
    任意为假,就为假
    区别
    长路与 两侧,都会被运算
    短路与 只要第一个是false,第二个就不进行运算了
        

    |    ||

    无论长路或还是短路或
    两边的运算单元都是布尔值
    都为假时,才为假
    任意为真,就为真
    区别
    长路或 两侧都会被运算
    短路或 只要第一个是true的,第二个就不进行运算了

    取反! 
    真变为假 
    假变为真

    ^

    异或^ 
    不同,返回真 
    相同,返回假

    三元操作符   表达式?值1:值2    如果表达式为真 返回值1如果表达式为假 返回值2       

     int k = i < j ? 99 : 88;
     
            // 相当于
            if (i < j) {
                k = 99;
            } else {
                k = 88;
            }
  • 相关阅读:
    阿里的蚂蚁雄兵,已经俨然一个帝国
    Redmine数据库备份及搬家
    Redmine插件及使用
    高效代码审查的十个经验
    Redmine管理项目3-调整用户显示格式
    Redmine管理项目2-邮件通知
    Redmine管理项目1-自定义属性
    Excel VLOOKUP函数的使用方法
    一键安装Redmine
    Jdon框架开发指南
  • 原文地址:https://www.cnblogs.com/zl181015/p/9328021.html
Copyright © 2011-2022 走看看