Java基础重点整理 (2).ppt

上传人:wuy****n92 文档编号:70792099 上传时间:2023-01-28 格式:PPT 页数:39 大小:287.99KB
返回 下载 相关 举报
Java基础重点整理 (2).ppt_第1页
第1页 / 共39页
Java基础重点整理 (2).ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《Java基础重点整理 (2).ppt》由会员分享,可在线阅读,更多相关《Java基础重点整理 (2).ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1.1 有关面向对象的概念变量:即指对象的所知道的状态方法:指对象的功能单元。什么是消息?软件对象通过相互间传递消息来相互作用和通信 一个消息由三部分组成:1.接受消息的对象2.要完成方法的名字3.方法需要的参数对象对象B对象对象 Amessage1.1 有关面向对象的概念什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际 私有数据私有数据 方法方法上使用方法将类上使用方法将类的数据隐藏起来,的数据隐藏起来,控制用户对类的控制用户对类的修改和访问数据修改和访问数据的程度。的程度。方法方法数据数据对象对象A对象对象B公有数据公有数据1.1 有关面向对象的概念

2、什么是子类?子类是作为另一个类的扩充或修正所定义的一个类.bicycle(super class)Mountain bikesRacing bikesTandem bikessub class1.1 有关面向对象的概念什么是继承什么是继承?继承是子类利用父类中定义的方法和变量就继承是子类利用父类中定义的方法和变量就像它们属于子类本身一样像它们属于子类本身一样.class Car int color_number;int door_number;int speed;push_break()add_oil()class Trash_Car extends Car double amount;fil

3、l_trash()1.1 有关面向对象的概念什么是方法的覆盖?在子类中重新定义父类中已有的方法。class Car int color_number;int door_number;int speed;push_break()speed=0;add_oil()class Trash_Car extends Car double amount;fill_trash()push_break()speed=speed-10;1.1 有关面向对象的概念什么是方法的重载(多态性)?在同一个类中至少有两个方法用同一个名字,但有不同的参数。类类void show(int int_num)void show(

4、double double_num)void show(nit nit_ um,float float_um)1231.23123,1.231.2 Java语言的特点Java是什么?Java=“C+”-“复杂性和奇异性”+“安全性和可移植性”Java由那些特性?(1)面向对象封装性、多态性、继承性、动态链接(2)操作平台无关性严格的语言定义:“没有依据机器的不同而不同”或“由编译器决定”等字眼,最后的目标码都是一致的,初值都是确定的1.2 Java语言的特点(4)多线程Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。(5)Java与C及C+的区别不再有#include

5、和#define 等于处理功能不再有structure,union及typedef不再有函数、不再有指针、不再有多重继承不再有goto不再有操作符重载(Operatior Overloading)取消自动类型转换,要求强制转换1.3 Java的开发环境产生如下目录结构javabin的目录下包含义下主要文件:javac:Java编译器,用来将java程序编译成 Bytecodejava:Java编译器,执行已经转换成Bytecode的 java应用程序.jdb:Java调试器,用来调试java程序javap:反编译,将类文件还原回方法和变量.javadoc:文档生成器,创建HTML文件apple

6、tviwer:Java解释器,用来解释已经转换成 Bytecode的java小应用程序.1.5 Java类型系统Java type systemprimitivereferencenullcharnumericbooleanclassinterface arrayintegralfloating-pointbyteshortintlongfloatdouble1.5 Java类型系统byte 8 位 2 的补码 (byte)0short 16位 2 的补码 (short)0int 32 位 2 的补码 0long 64位 2 的补码 0Lfloat 32位 IEEE 754浮点数标准 0.0f

7、double 64位 IEEE 754浮点数标准 0.0dchar 16位 同一码字符集 u0000 (Unicode character)1.5 Java类型系统程序:保留字,标识符(类名、域名、方法名、符号常量、局部变量,标号、),操作符、界定符,字面常量。声明一个变量int data=10;Boolean isAlived;Java中的操作符:与C基本一致Java中不再有指针了1.5 Java类型系统在Java中”引用“是指向一个对象在内存中的位置,在本质上是一种带有很强的完整性和安全性的限制的指针.当你声明某个类,接口或数组类型的一个变量时,那个变量的值总是某个对象的引用或者是null

8、引用.指针就是简单的地址而已,引用除了表示地址而外,还象被引用的数据对象的缩影,还提供其他信息.指针可以有+,-运算,引用不可以运算.1.5 Java类型系统s1s210001s2=s1;a string10001class Mydate int year;int month;int day;Mydate today=new MyDate()00010008todays1=“a string”;例例:String s1;String s2;1.5 Java类型系统能够动态取得的内存有两种,一种是对象实体,一种数组.Java用new申请内存,不需要自己释放不用的内存.在Java中,定义数组时不必

9、给出数组的大小,因为Java的数组是动态分配的。数组变量实际上是一个引用变量,因此要实例化才能使用。例:int Array;Array=new int8;1.5 Java类型系统例:String arrayOfString=new String10;每个数组元素包含一个对字符串对象的引用,此时值分配了包含字符串引用的空间,并没有对字符串本身分配内存,此时不能访问。arrayOfStringfor(int i=0;iarrayString.length;i+)arrayOfStringi=new String(“Hello”+i)arrayOfString0arrayOfString1array

10、OfString8arrayOfString9对数组的引用对数组的引用对对字字符符串串的的引引用用1.6 Java中的字符串有两个字符串str1,str2str1=str2;是指两个引用指向同一个地址str1.equals(str2)是指两个字符串内容相等获取String对象的信息例如:String s=“this is a string”;int len=s.length();boolean result=s.equal(“this is a 特test”);char ch=s.charAt(6);1.8 Java名空间及访问规则每个类都创造了有自己的名字空间,指方法和变量可以知道彼此的存在

11、,可以使用。abstract类不能直接产生属于这个类的对象final类不能被其他任何类所继承(安全的考虑)public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用.friendly(缺省)类只能被本包中的其它类使用1.7 Java中的类、方法和变量类的严格定义及修饰字类的修饰字类的修饰字 class 类名称类名称 extends 父类名称父类名称 .public,abstract,final或者没有或者没有变量修饰字变量修饰字 变量数据类型变量数据类型 变量名变量名1,变量名变量名2=变量初值变量初值;方法修饰字方法修饰字 方法的返回值类型方法的返回值类型 方法名称方法名称

12、(参数参数1,参数参数2,/方法的内容方法的内容方法和变量的定义及修饰字方法和变量的定义及修饰字public、protected、private1.8 Java名空间及访问规则变量和方法的修饰字public、protected、privatepublic:任何其它类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。class ABC public int pub_i=5;public void show)()(“pub_i”+pub_i);1.8 Java名空间及访问规则class Demo public static void main(String args)ABC a

13、bc=new ABC();System.out.println(“abc.pub_i”+abc.pub_i);abc.pub_i=10;abc.show();abc.pub_i=5pub_i=10;1.8 Java名空间及访问规则protected变量和方法如果一个类中变量或方法有修饰字protected,同一类,同一包可以使用。不同包的类要使用,必须是该类的子类可以存取变量或调用public class ABC protected int pro_i=5;protected void show()(“pro_i=”+pro_i;)1.8 Java名空间及访问规则不同中的类不能使用class

14、DEF public static void main(String args)ABC abc=new ABC();(“abc.pro_i=“+abc.pro_i);abc.pub_i=10;abc.show();import mytest.pack.ABC;class DEF extends ABC public static void main(String agrs)DEF def=new DEF();System.out.println(def.i);def.i=10;def.show();pro_i=5pro_i=101.8 Java名空间及访问规则不同包但是是子类1.8 Java名

15、空间及访问规则private不允许任何其他类存取和调用friendly(前边没有修饰字的情况)在同一程序包中出现的类才可以直接使用它的数据和方法.1.8 Java名空间及访问规则当子类中的变量名与父类的相同,原来的变量被遮盖.class A int data_a=3;class B extends A int data_a=5;class C extends B void print_out()System.out.println(“data_a=”+data_a);System.out.println(“A.data_a=”+A.data_a);System.out.println(“B.d

16、ata_a=”+B.data_a);data_a=5A.data_a=3B.data_a=5class demo public static void main(String args)C c=new C();c.println_out();1.8 Java名空间及访问规则方法的覆盖(overriding)和重载(overloading)子孙类中定义的方法和祖先类中某个方法同名,同参数行,则祖先类中的该方法被覆盖.方法的重载是指一个对象的多态性,即多个方法用相同的名称,但参数行不同.类类void show(int int_num)void show(double double_num)void

17、 show(nit nit_ um,float float_um)1231.23123,1.231.8 Java名空间及访问规则到此为止-finalfinal在方法之前,防止该方法被覆盖.final在类之前,标是该类不能被继承final在变量之前,定义一个常量.属于类的变量和方法-staticstatic 在变量或方法之前,表明它们是属于类的,class ABCD char data;static int_share_data;class Demo ABCD a,b,c,dobject bchar dataobject cchar dataObject bchar datastatic int

18、share_dataobject bchar data1.8 Java名空间及访问规则静态变量在各实例间共享如果是public静态变量,则其它类可以不通过实例化访问它们静态方法称为类的方法,因此不用实例化即可调用(面向过程)一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量一个类的方法只能访问自己的局部变量1.8 Java名空间及访问规则例:不正确的引用class StaticError String mystring=“hello”;public static void main(String args)System.out.println(mystring);错误信息:cant

19、 make a static reference to nonstatic variable.为什么不正确?只有对象的方法可以访问对象的变量.1.8 Java名空间及访问规则解决的办法:1.将变量改称类变量class StaticError static String mystring=“hello”;public static void main(String args)System.out.println(mystring);1.8 Java名空间及访问规则2.先创建一个类的实例class NoStaticError public static void main(String args)

20、String mystring=“hello”;System.out.println(mystring);1.9 Java中的抽象类、接口和程序包抽象类是指不能直接被实例化的类,因此一般作为其它类的超类,与final类正好相反抽象类中的抽象的方法-在该类中定义但不在该类中提供实现,由继承类提供细节public abstract class SomeAbstractClass void method1()System.out.println(“Hi,Java”);void method2();定义抽象方法的类必须是抽象类.1.9 Java中的抽象类、接口和程序包利用接口可实现多重 继承(可同时实

21、现多个接口)接口的作用和抽象类 类似,指定原型,不直 接定义方法的内容.关键字implement用 来实现方法,即在使用时要用给出方法的实际内容接口中的方法和变量是public的interface Stack void push(object x);object pop();class A extends Applet implements Stack void push(object x);/具体内容具体内容 object pop();/具体内容具体内容 1.10 对象的构造函数构造函数应包含哪些内容?构造函数多半定义一些初值或内存配置工作一个类可以有多个构造函数(重载),根据参数的不同决定

22、执行哪一个.如果程序中没有定义构造函数,则创造实例时使用的是缺省函数,它是一个无内容的空函数.1.10 对象的构造函数thisthis指自己这个对象this的作用是要将自己这个对象当作参数,传送给别的对象中的方法.class ThisClass public static void main()Bank bank=new Bank();bank.someMethod(this);class Circle int r;Circle(int r)this.r=r;public area()return r*r*3;super指这个对象的父类super用来引用父类中的方法及变量数据.public c

23、lass apple extends fruits public apple(int price)super(price);以上句子表示使用超类的构造函数生成实例super必须是子类构造器的第一条语句1.10 对象的构造函数小结名空间及访问规则-package,class/object,member,局部变量-public,private,protected,default成员的可视性描述成员的可视性描述public protected 缺省缺省 privateyesyesyesyesyesyesyesyesnoyes*nonoyesnonono同一类中同一类中同一包中同一包中不同包的不同包的子类中子类中非子类非子类也不同包也不同包

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁