Java基础语法

1.定义

   float f1 = 2.3F;

   long l1 = 2344234L;

2,从键盘输入

        Scanner scan = new Scanner(System.in);
        
        int num = scan.nextInt();

3.匿名对象:创建的对象,没有显示的付给一个变量名,即为匿名对象。

class phone{

public void play(){}

}

new phone.play();

4.多态  ==== 向上转型  :多态是运行时行为

Class Animal{

    int count = 10;

    public void display(){

    System.out.printfln("bbbbbbb");

    }

}

Class Dog extends Animal{
    
    int count = 20;

    public void display(){

    System.out.printfln("aaaaa");

    }

}

    Dog a = new Dog();
    
    System.out.printfln(a.count);  //20

    Animal b = a;

    System.out.printfln(a.count);  //10

    b.display();

输出为aaaaa;

一句话理解:方法可重写,属性不重写;

a.若子类重写了父类的方法,就意味着子类里定义的方法彻底覆盖了父类里的同名方法,系统将不可能把父类里的方法转移到子类中:编译看左边,运行看右边

b.对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的实例变量,这个实例变量依然不可能覆盖父类中定义的实例变量。:编译运行都看左边

5.JAVA函数允许不指定参数数量

public void add(int a , int... arr){

    System.out.println("!!!!!!!");

}

6.重写

public class Test{

Base b = new Sub();

b.add(1,2,3);

}

class Base{

    public void add(int a , int... arr){

        System.out.println("!!!!!!!");

    }

}

class Sub extends Base{
    
    public void add(int a , int[] arr){

        System.out.println("-=======");

    }
    
    public void add(int a , int b , int c){

        System.out.println("+++++++++");

    }



}


子类和父类函数add的参数虽然不同,但是编译器认为int... a 和int[] a 相同,所以属于重写。

运行结果为-======= 不是+++++++  !!

因为编译是编译Base类,而Sub重写了add函数,所以输出-============= ;

7. 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值