zoukankan      html  css  js  c++  java
  • Java笔记

    super

      引用父类成员变量、局部变量、方法

      例如:super.变量名,super.方法名,super.父类的构造方法;

      super() 表示调用父类的构造函数

    this

      引用该类成员变量、局部变量、方法

      例如:this.变量名,this.方法名,this.父类的构造方法;

    final与static:

      final:

        修饰 成员变量:表示常量,只能被赋值一次(可以先声明而不给初值,这种变量也称为final空白,但使用前必须被初始化)

        修饰 成员方法:不能被子类override,但可以被继承使用(final不能修饰构造方法;private修饰的方法默认也是final的)

        修饰 类:不能被继承,该类没有子类(final类的成员方法默认为final的)

      static:

        修饰 成员变量:独立于该类的任何对象,被类的所有对象/实例共享,通过类名访问(static对象可以在其任何对象创建前访问;生成实例时不产生static变量的副本)

        修饰 成员方法:独立于该类的任何对象,被类的所有对象/实例共享,通过类名访问(static对象可以在其任何对象创建前访问;生成实例时不产生static变量的副本)

        修饰 类:只能修饰内部类,不能修饰外部类。修饰内部类时可以直接作为一个普通类使用,详见参考链接。

        注:static修饰的成员方法只能调用static修饰的(静态的)类、成员变量(需要先实例化)、成员方法

      static和final一起使用:

        可以理解为全局常量,通过类名访问

        注意:被static和final修饰的实例常量,实例本身不能改变,但对于一些容器类型的实例变量(如ArrayList、Hashmap)的实例变量,不能改变容器变量本身,但可以改变容器中存放的对象。

    abstract:

      修饰 成员方法:表抽象方法,在该类中不能具体实现,在子类(非抽象)中必须具体实现

      修饰 类:表抽象类,抽象类不能实例化,只能被继承

      抽象类:至少包含一个抽象方法,成员变量可以是普通变量

    interface(接口):

      成员变量:只能有static final的成员变量,不用static final修饰,也会隐式地声明为static final。

      成员方法:不用abstract修饰,接口中的成员方法都默认是抽象方法

    内部类:

      内部类:定义在一个类里或一个方法里的类。

      一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。

      成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)

      同名成员的访问:

        默认情况下访问的是成员内部类的成员

        访问外部类的同名成员:外部类.this.成员变量(方法)

      外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问

      创建内部类对象:

        Outter outter = new Outter();  //必须通过Outter对象来创建

        Outter.Inner inner = outter.new Inner();  或  Outter.Inner inner = outter.getInnerInstance();

       外部类只能被public和包访问(默认)2种权限修饰,内部类有private访问权限、protected访问权限、public访问权限、包访问权限(默认)4种

    (内部类详解未完待续。。。)

     线程相关:

      Thread

      Runnable

     enum 枚举:

      例子:

    public class EnumDemo {
        public static void main(String[] args){
            //直接引用
            Day day =Day.MONDAY;
        }
    }
    
    //定义枚举类型
    enum Day {
        MONDAY, TUESDAY, WEDNESDAY,
        THURSDAY, FRIDAY, SATURDAY, SUNDAY
    }

      其中Day的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)

    Map (相当于python里的字典):

    import java.util.*;
    
    public class CollectionsDemo {
    
       public static void main(String[] args) {
          Map m1 = new HashMap(); 
          m1.put("Zara", "8");
          m1.put("Mahnaz", "31");
          m1.put("Ayan", "12");
          m1.put("Daisy", "14");
          System.out.println();
          System.out.println(" Map Elements");
          System.out.print("	" + m1);
       }
    }

      需要 import java.util.Map 和 import java.util.HashMap

    参考:

    • 继承:https://blog.csdn.net/weixin_39938767/article/details/80056922
    • final和static,讲得很详细:https://blog.csdn.net/hust_yfang/article/details/79585696
    • static修饰类:https://www.cnblogs.com/a8457013/p/8078826.html
    • 内部类:https://www.cnblogs.com/dolphin0520/p/3811445.html
    • enum:https://blog.csdn.net/javazejian/article/details/71333103
    • Map:http://www.runoob.com/java/java-map-interface.html
  • 相关阅读:
    基于模糊Choquet积分的目标检测算法
    Android开发5:布局管理器2(表格布局TableLayout)
    JAVA WEB开发环境搭建教程
    linux下自助获取帮助
    dsp下基于双循环缓冲队列的视频采集和显示记录
    找工作笔试面试那些事儿(11)---数据库知识总结(2)范式
    【Todo】Zookeeper系列文章
    VC2010对Excel的操作
    hdu2647解题报告
    premake 在64位Ubuntu系统下编译32位GCC程序
  • 原文地址:https://www.cnblogs.com/sbj123456789/p/10211891.html
Copyright © 2011-2022 走看看