灰太狼大王讲java之抽象类

抽象类(abstract class):使用abstract修饰无法实例化,即无法调用实例化生成一个对象

抽象方法(abstract method)①使用abstract修饰②必须定义在抽象类中

特点总结:

①抽象类既可以包含抽象方法也可以包含具体方法

包含抽象方法的类是抽象类

③在子类(非抽象类)继承父类(抽象类)的情况下,子类必须要实现所有父类的抽象方法,否则此子类必须定义为抽象类

抽象类的作用:为子类提供一种规范


例子:

public class TestAbstractClass {
    
    public static void main(String[] args){
        
        Shape shape = new Triangle(10,6);   //调用子类带参数的构造方法,实现赋值

                                                                  
        
        int area = shape.computeArea();       //调用子类的方法computeArea()
,从而得到
                                                                   返回值即三角形面积的结果

        System.out.println("triangle:"+area);
        
            }
        
}

abstract class Shape{
    
     public abstract int computeArea();     //自己不实现,而是为子类提供一种规范
        
}

class Triangle extends Shape{
    
    int width;                    //定义成员变量
    int height;                  //定义成员变量
    
    public Triangle(int width , int height){      //定义子类Triangle的带参数的构造方法
        
        this.width=width;       //将构造方法的传递的参数赋值给成员变量的参数
        this.height=height;    //将构造方法的传递的参数赋值给成员变量的参数
                                         //this表示对对象自己的引用,this.width 表示获得成员变量
           }
    
    public int computeArea(){       //定义一个方法
        
        return (width*height)/2;       //返回值为三角形面积
        
          }
    

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值