1、 abstract:是一个修饰符可以修饰方法,类 当我们多个类存在相同的功能,但是功能的主体不同,这时我进行向上抽取 只抽取功能的定义不抽取功能的主体。
2、首先创建一个动物类,添加一些抽象方法。
3、当对抽象类进行实例化的时候,会提示类是抽象的,无法实例化,说明抽象的类无法实例化。
4、但是抽象类中可以添加除了抽象方法以外的方法,即普通方法。
5、使用继承,创建猫类继承动物类,并对抽象方法写入具体,并实例化,这里的抽象方法必须全部实现。
6、也可以在继承抽象类中,抽象方法都实现的基础上添加新的方法。
7、总结: 抽象类的特点: 抽象方法一定要在抽象类中 抽象类和抽象方法必须要被abstract关键字修饰 抽象的类是不能被创建对象,因为调用抽象的方法没意义 抽象类中的方法要被使用,必须由子类重写抽象类中的方法,然后创建子类对象来调用 抽象类中可以定义非抽象类的方法,有时我们需要此类不能被new关键字创建对象时,可以用 abstract 将此类变成抽象类 子类如果只重写一部分的抽象方法,那么该子类还是一个抽象类 如果抽象类的方法要被使用,子类必须重写抽象类中的所有方法 值得注意: 抽象类和普通的类没有太大不同。 抽象类无法通过new关键字创建对象 抽象类里面可以有抽象方法 。
二、用java编写程序时总提示缺少方法主体或声明抽象1、 abstract:是一个修饰符可以修饰方法,类 当我们多个类存在相同的功能,但是功能的主体不同,这时我进行向上抽取 只抽取功能的定义不抽取功能的主体。
三、在java中,定义一个接口,声明计算长方形面积和周长的抽象方法,如题。1、//呵呵,我也是刚刚才学这个OOP程设计的//规划的不当,就不要见怪咯,我只是按照我的思想分析//首先用面向对象的语方分析问题,这里有橡者三个对象//客户端是一个对象//雹如饥计算面积和周长是一个对象//长方形是一个对象publicclassClient{publicstaticvoidmain(String()args){ICalculatecal=newCalculate()MyRectanglerect=newMyRectangle(10,5)System.out.println(rect+"周长为、"源返+cal.calcuGirth(rect))System.out.println(rect+"面积为、"+cal.calcuArea(rect))rect=newMyRectangle(30,50)System.out.println(rect+"周长为、"+cal.calcuGirth(rect))System.out.println(rect+"面积为、"+cal.calcuArea(rect))}}interfaceICalculate{intcalcuArea(MyRectanglerect)intcalcuGirth(MyRectanglerect)}classCalculateimplementsICalculate{//计算面积的方法publicintcalcuArea(MyRectanglerect){intresult=rect.getWidth()*rect.getHeight()returnresult}//计算周长的方法publicintcalcuGirth(MyRectanglerect){intresult=(rect.getWidth()+rect.getHeight())*2returnresult}}classMyRectangle{privateintwidthprivateintheightpublicMyRectangle(intwidth,intheight){this.width=widththis.height=height}publicintgetWidth(){returnwidth}publicvoidsetWidth(intwidth){this.width=width}publicvoidsetHeight(intheight){this.height=height}publicintgetHeight(){returnheight}publicStringtoString(){returnsuper.toString()+"(width="+width+",height="+height+")"}}。
四、编写一个完整的 Java 程序,要求: (1)定义一个抽象类 Shape,在该类中:添加抽象方法?1、publicabstractclassShape{publicabstractdoubleArea()publicabstractvoidprintArea()}classCircleextendsShape{intradiuspublicCircle(intradius){this.radius=radius}@OverridepublicdoubleArea(){returnMath.pow(this.radius,2)*Math.PI}@OverridepublicvoidprintArea(){//String.format("%.2f",Area())保留两位小数System.out.println("半径为"+this.radius+"的圆的面积是"+String.format("%.2f",Area()))}}classTest{publicstaticvoidmain(String()args){//生成一个1-9的随机整数intradius=(int)(Math.random()*9)+1//创建一个Circle对象实例Circlecircle=newCircle(radius)//调用printArea()方法打印面积circle.printArea()}}。
五、那位师傅给我讲下java里的抽象类的定义方法1、publicabstractclassShape{publicabstractdoubleArea()publicabstractvoidprintArea()}classCircleextendsShape{intradiuspublicCircle(intradius){this.radius=radius}@OverridepublicdoubleArea(){returnMath.pow(this.radius,2)*Math.PI}@OverridepublicvoidprintArea(){//String.format("%.2f",Area())保留两位小数System.out.println("半径为"+this.radius+"的圆的面积是"+String.format("%.2f",Area()))}}classTest{publicstaticvoidmain(String()args){//生成一个1-9的随机整数intradius=(int)(Math.random()*9)+1//创建一个Circle对象实例Circlecircle=newCircle(radius)//调用printArea()方法打印面积circle.printArea()}}。
六、怎样在java中定义一个抽象属性1、publicabstractclassShape{publicabstractdoubleArea()publicabstractvoidprintArea()}classCircleextendsShape{intradiuspublicCircle(intradius){this.radius=radius}@OverridepublicdoubleArea(){returnMath.pow(this.radius,2)*Math.PI}@OverridepublicvoidprintArea(){//String.format("%.2f",Area())保留两位小数System.out.println("半径为"+this.radius+"的圆的面积是"+String.format("%.2f",Area()))}}classTest{publicstaticvoidmain(String()args){//生成一个1-9的随机整数intradius=(int)(Math.random()*9)+1//创建一个Circle对象实例Circlecircle=newCircle(radius)//调用printArea()方法打印面积circle.printArea()}}。
七、JAVA编程时声明抽象类和抽象方法是基于什么目的,有什么用呢,可以说详细一点不?谢谢了1、publicabstractclassShape{publicabstractdoubleArea()publicabstractvoidprintArea()}classCircleextendsShape{intradiuspublicCircle(intradius){this.radius=radius}@OverridepublicdoubleArea(){returnMath.pow(this.radius,2)*Math.PI}@OverridepublicvoidprintArea(){//String.format("%.2f",Area())保留两位小数System.out.println("半径为"+this.radius+"的圆的面积是"+String.format("%.2f",Area()))}}classTest{publicstaticvoidmain(String()args){//生成一个1-9的随机整数intradius=(int)(Math.random()*9)+1//创建一个Circle对象实例Circlecircle=newCircle(radius)//调用printArea()方法打印面积circle.printArea()}}。
八、java中abstract怎么使用啊,说的详细点。举几个有代表的例子1、首先我们要了解抽象是什么概念。
2、在面向对象的概念中,所有的对象都是通过类来进行描述的。
3、抽象类的实现就是通过Java继承来实现的!。
九、java怎么声明一个完整的抽象类?1、packageTest//形状类abstractclassShape{ttpublicabstractvoidgetArea()t}//矩形类classRectangleextendsShape{tfloatatfloatbtpublicRectangle(floata,floatb){ttthis.a=attthis.b=bt}tpublicvoidgetArea(){ttfloatArea=a*bttSystem.out.println("矩形的面积为、"+Area)t}}//三角形classTriangleextendsShape{tfloatatfloathtpublicTriangle(floata,floath){ttthis.a=attthis.h=ht}tpublicvoidgetArea(){ttfloatArea=(a*h)/2ttSystem.out.println("三角形的面积为、"+Area)t}}//圆形classCircleextendsShape{tfloatrtpublicCircle(floatr){ttthis.r=rt}tpublicvoidgetArea(){ttfloatArea=(float)(Math.PI*r*r)ttSystem.out.println("圆形的面积为、"+Area)t}}//测试类publicclassTestShape{tpublicTestShape(Shapes){tts.getArea()t}tpublicstaticvoidmain(String()args){tt//矩形面积ttShapejx=newRectangle(5,6)ttTestShapets=newTestShape(jx)tttt//三角形面积ttShapesjx=newTriangle(4,5)ttTestShapets1=newTestShape(sjx)tttt//圆形面积ttShapeyx=newCircle(10)ttTestShapets2=newTestShape(yx)}}。