2021-07-18


一、类成员

1.定义:static修饰的成员就是类成员(成员变量,方法,构造器,初始化块,内部类)。

2.类变量:类变量属于整个类,它即可通过类来访问,也可通过类的对象来访问。(当通过对象来访问类变量时,系统会在底层转换为通过该类来访问类变量)

3.类方法:通常直接使用类作为调用者来调用类方法,也可以使用对象来调用类方法。

4.类初始化块:用于执行类初始化动作,一旦类初始化结束后,类初始化块将永远不会获得执行的机会。

注:类成员属于整个类,不属于单个对象。

二、final关键字

1.作用:
(1)修饰变量:常量;
(2)修饰方法:该方法不可被子类重写,但是可以被重载。
(3)修饰类:修饰的类不能有子类,不能被继承。

2.final成员变量:final修饰的成员变量必须由程序员显式地指定初始值。

public class Finaltest{
       final int a;
       final  String str;
       final static double b;
}

3.final局部变量:用final修饰局部变量,既可以在定义时指定默认值,也可以不指定默认值。如果没有指定默认值,则可以在后面对final变量赋初始值,但只能一次,不能重复赋值。

4.可执行“宏替换”的final变量:
(1)满足三个条件final变量就相当于一个直接量:使用final修饰符修饰;在定义该final变量时指定了初始值;该初始值可以在编译时就被确定下来。
(2)例如:

public class Finaltest{
       public static void main(String[] args){
             final var 5;
             System.out.println(a);
       }
}

注:final修饰的变量不可被改变,一旦获得了初始值,该final变量的值就不能被重新定义。

三、==和equals方法

1.作用:都是用来测试两个变量是否相等。
2.区别:当使用==来判断时,如果两个变量是基本类型变量,且都是数值类型,则两个变量的值相等。当使用equals来判断时,所有引用变量都可调用该方法来判断是否与其他引用变量相等。

例如:

public class Equaltest
{
    public static void main(String[] args)
    {
         var s1=65;
         var s2=65.0f;
         System.out.println("它们是否相等?"+(s1==s2));
    }
}
class Person
{
     public boolean equals(Object obj)
     {
          return true;
     }
}
//定义一个空类
class dog{}
public class Equalstest
{
     public static void main(String [] args)
     {
         var p=new Person();
         System.out.println("Person对象是否等于Dog对象"+p.equals(new Dog()));
     }
}

四、抽象类

1.抽象方法和抽象类必须使用abstract修饰符来定义。

2.有抽象方法的类只能被定义程抽象类,抽象类里面可以没有抽象方法。

3.抽象方法和抽象类的使用:
(1)抽象方法不能有方法体。
(2)不能使用new关键字来调用抽象类的构造器创建抽象类的实例。
(3)抽象类的构造器不能用于创建实例,主要是用于被其子类调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值