Java程序设计实用教程-电子教案 4类与对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

void SetHeight(double h) { height = h; }
class Cone { double r , h ; void SetRH(double rr,double hh) { r = rr; h = hh; } double ComputeArea( ) { return (3.14*r*r); }
示例1——抽象类
目的在于为它所有的子类提供“共同的接口”; 如果子类不是abstract类,则必须实现所有abstract方法; 抽象类中可以有一般类具有的属性和方法。
abstract 图形类 abstract float Area( ) abstract void Output( )
圆形 float Area( ) void Output( )
class 圆形 extends 图形{ …… public float Area( ){ return (float)(3.14*r*r) ; } public void Output( ){ System.out.println(" 圆形面积"+Area( ));} }
class 直角三角形 extends 图形{…… public float Area( ){ return (float)(0.5*a*b); } public void Output( ){ System.out.println(" 三角形面积 "+Area( ));} } class 矩形 extends 图形{…… public float Area( ){ return a*b; } public void Output( ){ System.out.println(" 矩形面积 "+Area( ));} }
class A
{ static int Count=0; boolean b1=true; A( ) { Count++; }
static void ShowCount( )
{ System.out.println( "Count is :"+Count ); System.out.println(b1); } }
修饰符final——最终类

不能被继承
public final class Test { …… } 声明类时abstract 和 final不能同时使用。

方法
与函数类似(实例方法)
返回数据类型 方法名称(形式参数)

方法体; }
例如:double ComputeArea( ) { return (3.14*r*r); }
不能操纵实例变量,只能处理static属性变量。P79

Hale Waihona Puke public class Takecare { int a=90; static float b=10.98f; public static void main(String args[ ]) { float c=a+b; System.out.println(“c=“+c); }//main }//Takecare




abstract class People{ public abstract void Speak ( ); } class Chinese extends People{ public void Speak( ){ System.out.println("欢迎来到北京"); } } class English extends People{ public void Speak( ){ System.out.println("Welcome to England"); } }
修饰符abstract——抽象方法
只有方法头,没有方法实现; abstract方法只能定义在abstract类或接口中; abstract方法必须在子类中实现。
是否有错误?
class Less1 { public abstract void test( ); } class Less2 extends Less1{ public void test( ){……} } abstract class Less3 extends Less1{ public abstract void result( ); } class Less4 extends Less3{ public void result( ){……} }
直角三角形 float Area( ) void Output( )
矩形 float Area( ) void Output( )
抽象类(部分代码) abstract class 图形{ public abstract float Area( ); public abstract void Output( ); }
修饰符final
不能更改的最终方法,不能被子类重新定义。
class Less1 { public final void test( ){ System.out.println(“Test1”); } } class Less2 extends Less1{ public void test( ){ × System.out.println(“Test2”); } }
类与对象
本章内容



类的修饰符 方法 访问控制
abstract类和abstract方法P129




抽象类不能被实例化,只能作为基类或父类存在 abstract方法,只允许声明,不允许实现,不能用 final修饰 如果一个类是一个abstract类的子类,必须实现父 类的abstract方法(abstract类除外) 如果一个类中含有abstract方法,这个类必须用 abstract修饰 abstract类也可以没有abstract方法 一个abstract类只关心它的子类是否具有某种功能, 并不关心功能的具体行为,功能的具体行为由子类负 责实现。
double ComputeVolume( ) { return (ComputeArea( )*h/3.0); }
}
实例方法可以调用该类中的其他方法(除构造方法)
修饰符static——类方法
不用实例化,类名即可访问;
class Less { public static void test( ){ …… } } class Less_test{ public static void main(String[ ] args){ Less.test( ); } }
相关文档
最新文档