美文网首页
静态、重写、构造方法、三元操作符

静态、重写、构造方法、三元操作符

作者: 墨_0b54 | 来源:发表于2020-05-04 17:01 被阅读0次

非静态变量不能够被静态方法引用

当类加载时,static静态方法随着类加载而初始化,此时实例对象还未被创建,但是非静态成员变量需要等到实例对象创建才会被初始化,故无法被引用。

方法重写:两同两小一大原则

方法头由 ( 修饰符,返回值,方法名,定义域修饰符(internal), 参数列表,方法Attribute )组成。

两同两小一大原则:返回值和参数列表相同,返回值类型小于等于父类方法,抛出异常小于等于父类方法,访问权限大于等于父类方法。

补充:

  1. 实现接口方法的约束和子类覆盖父类方法的约束基本上是一样的,但接口有一点特殊的地方是接口的方法默认是public abstract,所以在实现接口方法的时候,也必须使用public
  2. “抛出异常小于等于父类方法”——不管父类抛出何种异常,子类可以不抛出任何异常。同样的,如果接口方法定义抛出某种异常,在实现这个接口方法的时候,可以抛出小于等于接口方法异常的异常,也可以不抛出任何异常。

构造方法调用


public class Base{

int w, x, y ,z;

public Base(int a,int b){

x=a; y=b;

}

public Base(int a, int b, int c, int d){

//构造函数不能像静态函数一样调用

//Base(a,b);

//使用this调用

this(a,b);

w=d;z=c;

}}

三元操作符类型的转换规则

  1. 若两个操作数不可转换,则不做转换,返回值为Object类型

  2. 若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。

  3. 若两个操作数中有一个是数字S,另外一个是表达式,且其类型标示为T,那么,若数字S在T的范围内,则转换为T类型;若S超出了T类型的范围,则T转换为S类型。

  4. 若两个操作数都是直接量数字,则返回值类型为范围较大者


//4

Object o1 = true ? new Integer(1) : new Double(2.0);

相关文章

  • 静态、重写、构造方法、三元操作符

    非静态变量不能够被静态方法引用 方法重写:两同两小一大原则 方法头由 ( 修饰符,返回值,方法名,定义域修饰符(i...

  • Swift子类重写父类构造函数

    swift中子类重写父类构造方法: 如果父类没有指定构造方法(带参数的构造方法), 子类重写父类构造方法就不需要调...

  • Thinking in Java

    3. 操作符 3.1 静态导入 静态导入:方法中调用静态导入的其他类中的静态方法 3.2 使用Java操作符 副作...

  • Java程序执行顺序

    执行顺序大致分类: 静态属性,静态方法声明,静态块。 动态属性,普通方法声明,构造块。 构造方法。 详细介绍: 类...

  • Java代码块的执行顺序

    执行顺序首先执行静态代码块接着执行构造代码块最后指向构造方法 静态代码块 >>> 构造代码块 >>>> 构造方法 ...

  • 构造方法重写

    类的设计与实现构造方法1.init 与 super init:构造方法 作用是在创建一个对象后,对对象进行初始化操...

  • 代理模式

    静态代理: 代理类实现接口,构造方法传入实现类实例,代理类重写接口方法,加入逻辑。 代理类是在编译时就实现好的。也...

  • Dart语法面向对象之1

    面向对象之1 概述 类与对象,声明、创建及基本特性构造方法及初始化列表静态成员及对象操作符的使用 类 属性与方法 ...

  • 第一条 考虑用静态工厂方法代替构造器

    创建和销毁对象 考虑用静态工厂方法代替构造器 一般使用构造器 使用静态方法 这样写的优势 静态方法有名字构造器与类...

  • 子类继承父类函数

    如果在子类中需要父类的构造方法就需要显式地调用父类的构造方法,或者不重写父类的构造方法。子类不重写 init,实例...

网友评论

      本文标题:静态、重写、构造方法、三元操作符

      本文链接:https://www.haomeiwen.com/subject/mojyghtx.html