abstract,final,interface,static,

2017-12-05  本文已影响0人  脏脏包盛

final

类型转换

byte short char int long float double
只要两个操作数有一个double,结果也为double。如果两个操作数有一个float,另一个自动转为float,结果为float。如果两个操作数一个是long类型,则另一个自动转为long,结果也为long。否则(byte,char,int,short),两个数都会被转换为int,结果也为int。
注意:被final修饰的类型不会自动类型转换,当两个final修饰相操作时,结果根据左边变量的类型而转化。

byte b1=1, b2=2,b3,b6,b8;
final byte b4=4,b6=6,b7;
b3 = b1+b2;            //1
b6 = b4+b5;            //2
b8=b1+b4;              //3
b7=b2+b5              //4

结果除了2都转换成了int,而左边是byte,所以编译报错。而2正确

static

静态方法
public class HelloWorld{
//使用静态关键字声明静态方法
 public static void print(){
   System.out.println("hello");
 }
 public static void main(String[] args){
 //类调用  或者直接调用
 HelloWorld.print();
 print();
 //对象调用,更推荐使用类调用
 HelloWorld hello = new HelloWorld();
 hello.print();
 }

在静态方法中可以直接调用同类中的静态成员和静态方法,但是不能直接调用非静态成员和非静态方法

public class HelloWorld{
  String name = "lds";
  static hobby = "love";
  
  public static void print(){
    System.out.println(hobby);
    //System.out.println(name);     //错误使用
    HelloWorld hello = new HelloWorld();
    System.out.println(hello.name);    //  正确使用非静态成员或非静态方法,要声明对象
  }
}
上一篇下一篇

猜你喜欢

热点阅读