Java基础学习的一些小细节

短路运算

当在进行逻辑与运算(两个变量都为真,结果才为真)的时候,若发现前一个变量为假,则根本不会去进行后面一个变量的运算。
例子:

boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);

结果:

false
5

字符串连接符 + ,string

int a = 10;int b = 20

System.out.println(""+a+b);的输出结果为1020

System.out.println(a+b+"");的输出结果为30

由此可以看出,在输出时""后的都会转化为String

super关键字

  • 使用注意点:

    1.super调用父类的构造器,必须在构造方法的第一个

    2.super必须只能出现在子类的方法或者构造方法中

    3.super和this不能同时调用构造方法

  • super VS this

    1.代表的对象不同:

    this:本身调用这个对象

    super:代表父类对象的应用

    2.前提

    this:没有继承也可以使用

    super:只能在继承条件下才可以使用

    3.构造方法

    this():本类的构造

    super():父类的构造

static关键字

public class Application {
    public static void main(String[] args) {

        A a = new A();
        a.text();

        //父类的引用指向了子类
        B b = new A();
        b.text();

    }
}
//重写都是方法的重写,和属性无关
public class B {
    public static void text(){
        System.out.println("B=>text");
    }

}
public class A extends B{
    public static void text(){
        System.out.println("A=>text");
    }
}

有static时,b调用了B类的方法,因为b是用b类定义的
故输出结果为:
A=>text
B=>text

没有static时,b调用的是对象的方法,而b是用A类new的
故输出结果为:
A=>text
A=>text

因为静态方法是类的方法,而非静态是对象的方法,即b是A new出来的对象,因此调用了A的方法

重写

需要有继承关系,子类重写父类的方法!
1.方法名必须相同

2.参数列表列表必须相同

3.修饰符:范围可以扩大但不能缩小:public>Protected>Default>private

4.抛出的异常:范围,可以被缩小,但不能扩大;ClassNotFoundException --> Exception(大)

重写,子类的方法和父类必要一致;方法体不同!

为什么需要重写:

1.父类的功能,子类不一定需要,或者不一定满足!

快捷键:Alt+ Insert ; override;

多态注意事项:

1.多态是方法的多态,属性没有多态
2.父类和子类,有联系 类型转换异常!ClassCastException!
3.存在条件:继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son();

  1. static 方法,属于类,它不属于实例
  2. final 常量;
  3. private方法;
posted @ 2025-08-12 16:48  ZhiWu~  阅读(2)  评论(0)    收藏  举报