最终类 抽象类

1. final:是一个修饰符,可以修饰类,方法,成员变量,局部变量

1)final 修饰的这个类就是最终的类,不能再有子类,即不能再被继承

如 System String Integer 都是 final 类

2)final 修饰方法,该方法不能被子类重写(覆盖)

class Test{
    public final void show(){
        System.out.println("show");
    }
}

3)final 修饰成员变量(大写),变量的值不能被修改,叫作符号常量,程序中用到的固定的数据用符号常量表示 基本类型

class Circle{
    // 计算圆的面积
    //内存中只有一个,是static的,可以修饰为public
    public static final double PI=3.1415; 
    public static final int PAY=1;
    public static final int NOPAY=2;
    private double radius;
    Ccircle(){}
     Ccircle(double radius){
         this.radius=radius;
     }
    public double area(){
        return PI*radius*radius;
    }
}

4)(成员变量)单例中用 final 更安全:相对于final 修饰引用类型,该类型不能再指向其他对象 地址不能改变了

class Single{	
    private static final Single single=new Single();// 引用类型	
    private Single(){}	
    public static Single getInstance(){		
        single1=new Single();	//出错	
        return single1;	
    }
}

5)final 修饰局部变量,变量的值不能被修改;当希望接收到的值不能被修改时,函数的参数也可以修饰为 final ,接收到什么用什么,不能再修改

class Demo{
    public static void main(Stirng[] args){
        final int a=10; //a的值不能再被修改
        int num=add(5,5);
    }
    public static int add(final int a,final int b){
        a=6; b=8;  //  此时编译出错,因为形参a和b被修饰为final,其值只能接收调用者传的参数,不能再做修改
        return a+b;
    }
}

2. 抽象类:类中含有抽象方法(没有实现的方法,没有大括号{})

      在对子类提取共性行为的过程中,出现无法确定如何实现的行为,因为子类对该行为有各自的表现方式,父类不确定如何实现该方法,父类就不实现该方法,就成为抽象方法

特点:1)抽象类不能创建对象,无法实例化;

2)子类必须重写父类(父类是抽象类)中的抽象方法,否则该子类中有继承自父类的抽象方法,那么该子类也是抽象类,编译会出错 但子类要实现功能不能是抽象类;

3)抽象类一定是父类;

4)抽象类有构造方法,用于给子类使用。

其他:1. 抽象类和普通类的区别:1)抽象类不能创建对象,普通类可以;

                                                      2)抽象类含有抽象方法,普通类不含有抽象方法。

      2. abstract 不能和哪些关键字同时使用?

         1)static:静态方法可以通过类名调用,但抽象方法不能被调用(非法的修饰组合,abstract和static)不能使用

         2)final :final 修饰的方法不能被重写,abstract 修饰的方法必须被重写

        3)private:私有化的方法不能被重写

    3. 抽象类一定含有抽象方法吗? 不一定,当希望一个类不能被创建对象时使用抽象类,但可以没有抽象方法

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值