zoukankan      html  css  js  c++  java
  • final和static

    final:

    final修饰的类不可继承,但可以继承其他类

    final修饰的方法不可被子类重写

    final修饰成员变量时,必须直接赋值或者通过构造方法赋值

    final不能修饰接口,抽象类,抽象方法

    final修饰成员变量,需要在创建对象前赋值

    static:静态修饰符

    被static修饰的成员变量属于该类,不属于该类的对象,最好通过类名直接访问:

    类名.静态成员变量名

    类名.静态成员方法名(参数)

    将static的成员变量值修改后,其他对象中的static成员变量值跟着改变,多个对象共享同一个static成员变量值。

    静态内容优先于对象存在,同一个类中静态只能访问静态,存于静态于方法共享区,无法使用this super。

    多态调用时:

    运行静态方法,运行父类中的方法

    运行非静态方法,运行子类中的重写方法

    成员变量,父类

     public static final静态常量:

    匿名对象:

    new Person();

    new Person().eat();

    匿名对象直接使用,没有变量名

    匿名对象在没有指定其引用变量时,只能是用一次

    匿名对象可以作为方法接收的参数,方法返回值使用

    demo.get(new Person());

    return new Person();

    内部类:成员内部类,局部内部类

    外部类名.内部类名 变量名 = new 外部类名().new 内部类名();

    Out.In oi=new Out().new In();

    oi.xxxxx();

    局部内部类:在外部类的方法中,创建内部类,进行访问

    public class Out{
    
    public void out(){
    
    class In{xxx}}
    
    In in=new In(); //创建内部类的对象
    
    in.in()         //调用自己
    
    }

    在外部访问out方法时,即可创建对象并同时调用该对象。

    匿名内部类:使用匿名对象的方式,将定义子类与创建子类对象两个步骤由一个格式一次完成

    格式为 new 父类(){方法重写}

    new Father(){xxxxxx};

    多态方法:定义并创建该父类的子类对象,并用多态的方式赋值给父类引用变量

    Father fa=new Father(){xxxxx};

  • 相关阅读:
    效率较高的排序算法
    django进阶
    django报错TypeError: __init__() missing 1 required positional argument: 'on_delete'
    DjangoORM基本增删改查
    C++中关键字static的作用
    Sqlite的安装和使用 (windows,C#)
    sqlserver查询时对于字符串类型的数据是否区分大小写
    C#自己无聊写的2048小游戏
    C#自己无聊写的俄罗斯方块游戏
    C#实现非枚举类型的在属性控件中可下拉选择(二)
  • 原文地址:https://www.cnblogs.com/god3064371/p/11555611.html
Copyright © 2011-2022 走看看