CHJava核心思想面向对象PPT学习教案_第1页
CHJava核心思想面向对象PPT学习教案_第2页
CHJava核心思想面向对象PPT学习教案_第3页
CHJava核心思想面向对象PPT学习教案_第4页
CHJava核心思想面向对象PPT学习教案_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1CHJava核心思想面向对象核心思想面向对象第1页/共60页第2页/共60页第3页/共60页第4页/共60页第5页/共60页类对象抽象实例化属性或状态操作或行为数据或变量方法封装的实体=数据+方法第6页/共60页在类中,属性是通过成员变量体现的,而操作是用成员函数(又称为方法)实现的。Java中定义类的通用格式:成员变量(对象属性)成员方法(对象行为或操作)第7页/共60页发往某个对象的消息对应于一个方法调用。作为对消息的响应,对象将执行一个类似于过程体的方法。方法是包含在类中的函数。方法名称返回类型修饰符,可选参数列表,可选 举例:public void setdate(int da

2、y, int month, int year) day=23; month=7; year=2003;第8页/共60页当对象作为函数参数时,在函数中只能改变该对象的状态,但不能改变该对象的引用void swapobj(Day x,Day y) Day temp=y; y=x; x=temp; 引用本身按值传递Day2002,5,30Day2003,7,23obj1obj2xy调用swapobj(obj1,obj2)改变对象状态xy第9页/共60页class Fruit boolean seedLess; boolean seasonal; float price; Fruit(boolean

3、seed, boolean season, float p) seedLess = seed; seasonal = season; price = p; 第10页/共60页当创建一个类时,只是创建了一种新的数据类型。对象是类的一个实例。class FruitDemo public static void main(String args) Fruit f = new Fruit(true,false,50.0F); 创建对象第11页/共60页public class constructOverload int x; constructOverload() x=0; (不带参数的构造函数);

4、constructOverload(int x) =x; (带一个参数的构造函数); 第12页/共60页继承是面向对象编程技术的一块基石,它允许创建分等级层次的类。运用继承,可以创建一个通用类定义一系列一般特性。该类可以被更具体的类继承Emoloyee类: name sexWorker类: category dressAllowanceOfficer类: empClass vehicle职员类,具有姓名和性别两个属性工人类,继承了父类的姓名和性别属性外还包含类别和是否有服装津贴属性主任类,还包含级别和是否配备交通工具属性第13页/共60页注意第14页/共60页class Worker exte

5、nds Employee char category;/类别 boolean dressAllowance; /是否提供服装津贴 Worker(String n,char s,char c,boolean d) super(n,s); category = c; dressAllowance = d; public char getCategory()return category; public boolean getAll() return dressAllowance; class InheDemo public static void main(String args) Worker

6、w = new Worker(M.John,M,B,true); (工人信息); (姓名 : +(); (性别 : +(); System.out.println(类别 : +w.getCategory(); if(w.getAll() System.out.println(提供服装津贴); else System.out.println(“未提供服装津贴”); 第15页/共60页访问控制访问控制private成员成员缺省的成员缺省的成员protected成员成员public成员成员同一类中成员同一类中成员 同一包中其他类同一包中其他类 不同包中子类不同包中子类 不同包中非子类不同包中非子类

7、第16页/共60页第17页/共60页第18页/共60页第19页/共60页protected成员来实成员来实现。现。第20页/共60页protected 修饰该成员。第21页/共60页第22页/共60页第23页/共60页class CalculationDemo p u b l i c s t a t i c v o i d main(String args) Calculation c = new Calculation();c.add(10,20);c.add(40.0F, 35.65F); (早上, 好); 编译器决定调用版本第24页/共60页第25页/共60页public class O

8、verrideDemo public static void main(String args) SuperClass s1 = new SubClass(10); s1.printA(); 将调用子类的printA方法第26页/共60页第27页/共60页第28页/共60页第29页/共60页第30页/共60页第31页/共60页用static修饰符修饰,可以是变量、方法或代码块第32页/共60页class StaticDemo static int x = 0; StaticDemo()x+;StaticDemo d1 = new StaticDemo();StaticDemo d2 = new

9、 StaticDemo();d1.x = 100 ;d2.x = 200;testVariable = d1.x; 通过类实例访问不是一个好方法StaticDemo d1 = new StaticDemo();StaticDemo d2 = new StaticDemo(); StaticDemo.x = 100; = 200;testVariable = ; 声明为static的变量实质上就是全局变量通过类名访问第33页/共60页class StaticFun static int i = 10; int j; static void setValue(int x) j=x;/出错 Syst

10、em.out.println( + i); 不能访问非静态变量j,可以访问静态变量iclass StaticTest static void test() class Staticex extends StaticTest void test() /出错 第34页/共60页class TryInitialization static int values = new int10; /静态数组成员 static for(int i=0; i; i+) valuesi = (int)(100.0*(); 第35页/共60页final class TestFinal int i = 7; int j

11、 = 1; void f() class Further extends TestFinal final类不能被继承第36页/共60页class TestFinal final void f() class Further extends TestFinal final void f() final方法不能被覆盖第37页/共60页class FinalDemo public static void main(String args) final int noChange = 20; noChange = 30; final变量不能被修改第38页/共60页abstract 修饰符可与类和方法一起

12、使用第39页/共60页或方法主体时。或方法主体时。第40页/共60页抽象方法没有方法主体在子类中提供实现在子类中提供实现第41页/共60页第42页/共60页 定义一个接口:第43页/共60页第44页/共60页class InterfaceTest public static void main(String args ) B b=new B( ); ( ); class B implements A public void show( ) System.out.println(“g=“+g); 第45页/共60页第46页/共60页public class PassTest int x; Pas

13、sTest(int x) =x; public void passingValue() System.out.println(“x 等于 +x); public static void main(String args) PassTest test = new PassTest(10); (); v关键字 this 与对象关联v它用于指示当前对象指明此对象的变量 x 应赋值为通过构造函数传递的自变量 x 的值。 第47页/共60页第48页/共60页第49页/共60页第50页/共60页第51页/共60页第52页/共60页第53页/共60页Integer one = new Integer(1);Integer anothe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论