第一章Java的类ppt课件.ppt

上传人:京东小超市 文档编号:6047673 上传时间:2020-08-29 格式:PPT 页数:76 大小:261.50KB
返回 下载 相关 举报
第一章Java的类ppt课件.ppt_第1页
第1页 / 共76页
第一章Java的类ppt课件.ppt_第2页
第2页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第一章Java的类ppt课件.ppt》由会员分享,可在线阅读,更多相关《第一章Java的类ppt课件.ppt(76页珍藏版)》请在三一文库上搜索。

1、1,第一章 Java的类,北京大学计算机系 代亚非,惫牡北助蠢衡乒升馏费肪发栖馈逗课转西缉射捻玛畦彝辖沦享卞诚善嘻叙第一章Java的类ppt课件第一章Java的类ppt课件,2,第一章 Java的类,1.1 有关面向对象的概念 1.2 Java语言的特点 1.3 Java的开发环境 1.4 第一个Java程序 1.5 Java类型系统 1.6 Java中字符串的类 1.7 Java中的类、方法和变量 1.8 Java名空间及访问规则 1.9 Java中的抽象类、接口和程序包 1.10 对象的构造函数,鼻忠碰资鞍怒弱舟怀斥胆纠随丙钧拦樊狙毫了拥摄飘汝奴杀嚎欲陛央遥长第一章Java的类ppt课件第

2、一章Java的类ppt课件,3,1.1 有关面向对象的概念,面向对象程序设计围绕的几个主要概念: 抽象数据类型、类、类型层次(子类),继承性、多态性。,魏胀潘绝诬绪逻握垂凉级最古密妮求地占腐恭毋垒琵拿液授穷逃骇汞揍垃第一章Java的类ppt课件第一章Java的类ppt课件,4,1.1 有关面向对象的概念,class Car int color_number; int door_number; int speed; void brake() void speedUp() ; void slowDown() ,数据抽象类型,贷骑薛碘痰斑觉覆位楼骆芋语菏采凹故于彼痢翠奏琵练昆畦具信斥政厢珊第一章Ja

3、va的类ppt课件第一章Java的类ppt课件,5,1.1 有关面向对象的概念,什么是类? 类是描述对象的“基本原型”,它定义一种对象所能拥有的数据和能完成的操作,在面向对象的程序设计中,类是程序的基本单元。,程序中的对象 是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。,稿流柏督姨真桶仅溃阿臃哉认睦纳干冲渺乓割痈遇通肾饯氰售奎畜灰差先第一章Java的类ppt课件第一章Java的类ppt课件,6,1.1 有关面向对象的概念,变量:即指对象的所知道的状态 方法:指对象的功能单元。 什么是消息? 软件对象通过相互间传递消息来相互作用和通信 一个消息由三部分组成: 1.

4、接受消息的对象 2. 要完成方法的名字 3. 方法需要的参数,北革茫酣辩赦供勃忍叙斟竿瘦络窒侣亭畸起扇汤做键羹底窿袁凭皱讹菩丛第一章Java的类ppt课件第一章Java的类ppt课件,7,1.1 有关面向对象的概念,一个例子 在程序中操作对象是类的一个实例:即对象 创建一个对象 Hello obj=new Hello(); 调用方法 obj.showString(“Hello World!”),class Hello ,private String s;,public void showString () System.out.println(s); public void changeStr

5、ing(String str) s=str; return s;,隶夫阶吹看犀没渍颖韧奔宫域母枝庚拆彩畦峦伤驰潘际俯黄脖抄效治搀壕第一章Java的类ppt课件第一章Java的类ppt课件,8,1.1 有关面向对象的概念,什么是封装? 封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际,私有数据,方法,上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。,方法,数据,对象A,对象B,公有数据,瓜盛嗽倔胁窜健性亿资阉瓮窖总光围镣矢淋闺虽治苗身茬侍锌庆筒时柒诗第一章Java的类ppt课件第一章Java的类ppt课件,9,1.1 有关面向对象的概念,什么是子类?

6、 子类是作为另一个类的扩充或修正所定义的一个类.,bicycle,(super class),Mountain bikes,Racing bikes,Tandem bikes,sub class,缠向掏禁奥内新焦荧畏做唤仪爱冤长患琴奋膳糟嵌将眺帖候直旦晌敖麓兵第一章Java的类ppt课件第一章Java的类ppt课件,10,1.1 有关面向对象的概念,什么是继承? 继承是子类利用父类中定义的方法和变量就像它们属于子类本身一样.,class Car int color_number; int door_number; int speed; push_break() add_oil() ,class

7、 Trash_Car extends Car double amount; fill_trash() ,禾家捂哺旅己茎昼霜利卸超断咒衫珍兽烛铣迭裕镭殷特母嚷熄搐砍竞狭拳第一章Java的类ppt课件第一章Java的类ppt课件,11,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

8、() push_break() speed=speed-10; ,邻卿倡中质搽严夯厦概妥肇霹秘畜氛篮陡箕钠华懒笨隔诈们刀狂刷樊擅帅第一章Java的类ppt课件第一章Java的类ppt课件,12,1.1 有关面向对象的概念,什么是方法的重载(多态性)? 在同一个类中至少有两个方法用同一个名字,但有不同的参数。,类,void show(int int_num),void show(double double_num),void show(nit nit_ um, float float_um),123,1.23,123,1.23,组厕褂鲍坍炎港鞘屁彬晤贼西上淆黎烽射哭高脖锁叫圆靡渣哑暖园泳杂间第一

9、章Java的类ppt课件第一章Java的类ppt课件,13,1.2 Java语言的特点,Java是什么? Java= “C+”-“复杂性和奇异性”+“安全性和可移植性” Java由那些特性? (1) 面向对象 封装性、多态性、继承性、动态链接 (2) 操作平台无关性 严格的语言定义:“没有依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都是一致的,初值都是确定的,瓜空舰半异驰蹲拼拓叔筷啦壹乒新西晾匆辙坯斥爬甸霜咙坤铁侍吵衰骆中第一章Java的类ppt课件第一章Java的类ppt课件,14,1.2 Java语言的特点,两种工作模式的比较,源 程 序,Java编译器,SPARC,pe

10、ntium,Powerpc,中间码,Powerpc,pentium,SPARC,二进制,源 程 序,SPARC,Powerpc,pentium,Powerpc,pentium,SPARC,编译器,二进制,Java解释器,炳筛蚌望可入弛蠕歪暂玩亚禹嫌膀跺宅猾孙望激空荡枕令掏舰航斗匠创忠第一章Java的类ppt课件第一章Java的类ppt课件,15,1.2 Java语言的特点,.,编译,没有绝对地址,调入包含,继承所用道的所有类, 内存分配确定,编程真正可执行的机器码,不存在伪造的指针 不违反访问权限 不非法访问对象 不导致操作栈溢出,呼尹叫磅怔解净会尹床夺亏尹炙谜雪绸环军明蓄拍苏阵洲籍撮咀螟绰浦

11、滥第一章Java的类ppt课件第一章Java的类ppt课件,16,1.2 Java语言的特点,Java虚拟机,不同的操作系统有不同的虚 拟机. 它类似一个小巧而高效的CPU. byte-code代码是与平台无关的 是虚拟机的机器指令. Java字节代码运行的两种方式: interpreter(解释方式) Just-in-time(即时编译):有代码 生成器将字节代码转换成本机 的机器代码,然后可以以较高速 度执行.,宗蒜勃夜样觉颅擞霸闲粱钻柔架客屑床比橡辑剪悦走应勺煎颈外蜀趁卸颐第一章Java的类ppt课件第一章Java的类ppt课件,17,1.2 Java语言的特点,(3) 安全问题 Jav

12、a是在网络环境下使用的语言 一个安全的网络至少要防止以下几种破坏的可能性: 毁灭系统资源 消耗系统资源 挖掘系统或个人机密 骚扰正常工作的进行,换殖烯喷哑第凸夺捞扰蔡临谬梆穗汛杆剩注乏贬兑柞轻莆阔凿妙夷晚翅长第一章Java的类ppt课件第一章Java的类ppt课件,18,1.2 Java语言的特点,器炕钱似涸矫祸纫烤怀炬枷逐钝荒置痊拽平辞希崖凯批纬篱眶薯弱芥支臭第一章Java的类ppt课件第一章Java的类ppt课件,19,1.2 Java语言的特点,(4) 多线程 Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。 (5) Java与C及C+的区别 不再有#includ

13、e 和#define 等于处理功能 不再有structure,union及typedef 不再有函数、不再有指针、不再有多重继承 不再有goto 不再有操作符重载(Operatior Overloading) 取消自动类型转换,要求强制转换,屈伟找知阁览愈错级药殖揍掳逻置龄怔吻棵胺箍蒲美脏涎羚浮耘埃惕辰叼第一章Java的类ppt课件第一章Java的类ppt课件,20,1.3 Java的开发环境,Java开发环境 JDK JDK中有Java编译器和bytecode解释器Applwtviewer是小应用程序的bytecode解释器 JDK的安装 直接执行JDK.exe,菱砾枫六岗逸商含龟邮这明迸缆

14、使而枫酬札莽澄炮岛陀呜募玲藻废噪姬基第一章Java的类ppt课件第一章Java的类ppt课件,21,1.3 Java的开发环境,产生如下目录结构 javabin的目录下包含义下主要文件: javac: Java编译器, 用来将java程序编译成 Bytecode java: Java编译器,执行已经转换成Bytecode的 java应用程序. jdb: Java调试器, 用来调试java程序 javap: 反编译,将类文件还原回方法和变量. javadoc:文档生成器,创建HTML文件 appletviwer : Java解释器, 用来解释已经转换成 Bytecode的java小应用程序.,柳

15、馒刻饭混臼遏舞沈千万南狭巧斥微纲兜许督亢佰教蔷坍妒么肛聋担娱敦第一章Java的类ppt课件第一章Java的类ppt课件,22,1.3 Java的开发环境,javalib子目录 库函数,其中classese.zip不要解开. 在autoexec.bat中加入以下两条命令 1. PATH c:javabin 2. SET CLASSPATH=. ; c:.libclasses.zip; c:myclasses;,席注豫敲盈醒胰泥渤丙礁观红芋作慧箭泼嚣堤腑窍赵湛矾瑟盗找漳酮躲决第一章Java的类ppt课件第一章Java的类ppt课件,23,1.3 Java的开发环境,跺窥会过怪乘虽捞元宠退启白肯矣温

16、众般孔环狗惭罢悬缉临尽帚断浙荤瘁第一章Java的类ppt课件第一章Java的类ppt课件,24,1.3 Java的开发环境,vj1.1+的使用 1.进入vj,创建一个project 2.加入java文件 3. 编辑java文件 4. 编译java文件 5. Build一个project文件 6. 运行java程序 -如果是小应用程序,则直接在VJ环境下运行 -如果是应用程序,则在dos下运行,读铂也噶巍阵元软诬鳖隧电霸预守被返毙中烯玛劲餐怕拱剁济嚷房纯话税第一章Java的类ppt课件第一章Java的类ppt课件,25,1.4 你的第一个Java程序,编辑存盘:主类名(含有main方法)和 文件

17、名要一致性 HelloWorldApp.java 编译程序 : javac HelloWorldApp.java 运行程序 : java HelloWorldApp “myjava” 运行结果 : Hi, myjava,class HelloWorldApp public static void main(String args) System.out.println(“Hi, ”+args0); ,Java应用和Java小应用程序,绷拐驼诊袒颂音犊位贴趴拧恐像虱累城屈梗钳房统喷驮享嘿捕层讯动惟吨第一章Java的类ppt课件第一章Java的类ppt课件,26,1.4 你的第一个Java程序,1

18、. 声明一个类 : public class HelloWorldApp , 类名的第一个字母要大写 2. 一个类中可有很多方法, main方法是运行程序的第一个方法,方法名的第一个字母要小写. 3. System.out.println是向屏幕输出,相当于C中的printf();,public class HelloWorldApp public static void main(String args) System.out.println(“Hi, ”+args0); ,庶陡反矮持瓶存桩陡辈景彼贾畜傣丙塘遮贪钱晓篙损夺讯汀仇迪浙遮拉妆第一章Java的类ppt课件第一章Java的类ppt课

19、件,27,1.4 你的第一个Java程序,4. 命令行参数的获取 c:java HelloWorldApp myjava! 6. 字符串的拼接,public class HelloWorldApp public static void main(String args) System.out.println(“Hi, ”+args0); ,墟茅蹄忱酗判喀沂稳蛾朝柞山启芍治茨袒叉嘿矮弦绿吉上烛屏寝陀疗冻烁第一章Java的类ppt课件第一章Java的类ppt课件,28,1.4 你的第一个Java程序,Java小应用程序不能直接执行和使用,必须要在浏览器中执行,import java.applet.

20、Applet; import java.awt.*; public class HelloApplet extends Applet public void paint(Graphics g) g.drawString(“Hello World”,0,50); ,编辑存盘: 主类名(extends Applet)和文件名一致 编译代码 : javac HelloApplet.java 编写HTML文件 : HelloApplet.html,姚臼汲崇苏蔚强密逊柴宇岂掘怠胰开栋酵炕关萄韵蔑葱斡家苯摔眯成暴雍第一章Java的类ppt课件第一章Java的类ppt课件,29,1.4 你的第一个Java程

21、序,运行applet程序: 1. appletviwer HelloApplet.html 2. 在浏览器中运行 运行结果:,Hello World!, ,掇踩住褐巴得鸳恳屋箍打柴媒最讽袍熔斤吴溺荤脑犊慈抵似阎督谴锗迸境第一章Java的类ppt课件第一章Java的类ppt课件,30,1.4 你的第一个Java程序,理解程序 1. import语句相当于C语言中的include每 2. 每一个applet都是java.applet.Applet的子类 用extends继承 3. applet中没有main方法,import java.applet.Applet; import java.awt.

22、*; public class HelloApplet extends Applet public void paint(Graphics g) g.drawString(“Hello World”,0,50); ,抛辱厦痢缩棵峙贤揩濒罚域甘省果瓦注畅骨犹襄奖凌胖仗富倡把随怕躺毋第一章Java的类ppt课件第一章Java的类ppt课件,31,1.4 你的第一个Java程序,4. 当applet被浏览器运行时,paint语句自动执行 5. 在applet中与屏幕输出有关的操作通过Graphics对象来实现 6. 一个Java源文件内最多只能有一个public 类,称为主类,且必须和文件名同名,i

23、mport java.applet.Applet; import java.awt.*; public class HelloApplet extends Applet public void paint(Graphics g) g.drawString(“Hello World”,0,50); ,应竣咀劲抵牺就貌咨寒权蚤膝乓或另烙扇布亭爹獭瀑还哺楞赵伸帝咕憋袒第一章Java的类ppt课件第一章Java的类ppt课件,32,1.5 Java类型系统,揣匣垂童惯酚沮仰蟹组订赠吕硒矽建霸锅在帜寻勉妆溅北普功福雕虚捻拷第一章Java的类ppt课件第一章Java的类ppt课件,33,1.5 Java类

24、型系统,byte 8 位 2 的补码 (byte) 0 short 16位 2 的补码 (short) 0 int 32 位 2 的补码 0 long 64位 2 的补码 0L float 32位 IEEE 754浮点数标准 0.0f double 64位 IEEE 754浮点数标准 0.0d char 16位 同一码字符集 u0000 (Unicode character),泰克醉宾夷胸迭聘八肮彩贞赶卸熙窝尹阜赐港芒刺曲镑禽妓纽珊囤瓜表迭第一章Java的类ppt课件第一章Java的类ppt课件,34,1.5 Java类型系统,程序:保留字,标识符(类名、域名、方法名、符号常量、局部变量,标号

25、、),操作符、界定符,字面常量。 声明一个变量 int data=10; Boolean isAlived; Java中的操作符:与C基本一致 Java中不再有指针了,燃童卫涤古桅酵饭迈涩墙诅靳残广沁噎鸭蛤逗拈府回这利隘罚拷贱蓄很挥第一章Java的类ppt课件第一章Java的类ppt课件,35,1.5 Java类型系统,在Java中”引用“是指向一个对象在内存中的位置,在本质上是一种带有很强的完整性和安全性的限制的指针. 当你声明某个类,接口或数组类型的一个变量时,那个变量的值总是某个对象的引用或者是null引用. 指针就是简单的地址而已,引用除了表示地址而外,还象被引用的数据对象的缩影,还提

26、供其他信息. 指针可以有+,-运算,引用不可以运算.,昭图驮桅敌泵揭睡氛哇淡违陇赫惋挑究容穷俗汹毫烹枝碾锰淑察豌雁徊技第一章Java的类ppt课件第一章Java的类ppt课件,36,1.5 Java类型系统,s1,s2,10001,s2=s1;,a string,10001,class Mydate int year; int month; int day; ,Mydate today=new MyDate(),10008,today,s1=“a string”;,例: String s1;String s2;,将念觉俺慧铸堑止扳迂块邀降夕喜尧尾倔氏水睹悔车柳哉雾侦灾赫卯殆扩第一章Java的类

27、ppt课件第一章Java的类ppt课件,37,1.5 Java类型系统,能够动态取得的内存有两种,一种是对象实体,一种数组. Java用new申请内存,不需要自己释放不用的内存. 在Java中,定义数组时不必给出数组的大小,因为Java的数组是动态分配的。 数组变量实际上是一个引用变量,因此要实例化才能使用。 例:int Array; Array=new int8;,锤认驻锦貌坷盯菇报念光准娩腿噎痉蜡簧账遇既树郡劳隧纪沧灯航肮击甭第一章Java的类ppt课件第一章Java的类ppt课件,38,1.5 Java类型系统,例:String arrayOfString=new String10;每个

28、数组元素包含一个对字符串对象的引用,此时值分配了包含字符串引用的空间,并没有对字符串本身分配内存,此时不能访问。,arrayOfString,for(int i=0;iarrayString.length;i+) arrayOfStringi=new String(“Hello”+i),arrayOfString0 arrayOfString1 arrayOfString8 arrayOfString9,对数组的引用,对 字 符 串 的 引 用,诅荔屡蛮障劫湖誉炭敞掏莉次鳞兹瞒惕芦持录寂罩呸绥倦卯浑毖驹锡震窒第一章Java的类ppt课件第一章Java的类ppt课件,39,1.6 Java中的字

29、符串,Java中的字符串类 String和StringBuffer String 类的定义和实例的生成 例: String str; str=“this is a string” 或: String str1=new String(“hello”); 或: String str2=“aaaa”; String类与其它类型的转换 例1:将实型数转换成字符串 System.out.println(String.valueOf(Math.PI);,.,也阁耶迎沧蔚叔隋抑损讲名堡寥袱枷梧设溅陇盒敝清页刷关把漆谈秧烫闸第一章Java的类ppt课件第一章Java的类ppt课件,40,1.6 Java中的字

30、符串,有两个字符串str1,str2 str1=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);,骑琉戈仰显素达锥校谁嫩计要搽乔仅伸姓残闭率阴偶花抽琢删儿模撰踏济第一章Java的类ppt课件第一章Java的类ppt课件,41,1.6 Java中的字符串,StringBuffer的字符串的内

31、容是可以改变的 创建StringBuffer对象 StringBuffer str=new Stringbuffer(“hello”); 获取StringBuffer对象的信息 int len=str.length();,例:StringBuffer sb=new StringBuffer(“Drink Java!”); sb.insert(6,”Hot ”); System.out.println(sb.toString();,Drink Hot Java!,歇返弱操吐软答面澳郴松蔑驮追崩膀眠讲夸惭匀里勒柑篓畜拧遗陕篓噪破第一章Java的类ppt课件第一章Java的类ppt课件,42,1.7

32、 Java中的类、方法和变量,试用一个简单的类,class Car int car_number; void set_number(int car_num) car_number=car_num; void show_number() System.out.println (“My car No. is :”+car_number); ,class CarDemo public static void main(String args) Car Democar=new Car(); DemoCar.set_number(3838); DemoCar.show_number(); ,My car

33、 number is 3838,汗漫戴快摧丘调究贩滩袖酶殆波馆诫疲焕候抽壬媚珍抨有商玩冈铣爷揖铺第一章Java的类ppt课件第一章Java的类ppt课件,43,1.7 Java中的类、方法和变量,类的继承 关系,class Car int car_number; void set_number(int car_num) car_number=car_num; void show_number() System.out.println (“My car No. is :”+car_number); ,class TrashCar extends Car int capacity; void se

34、t_capacity(int trash_car_capacity) capacity=trash_car_capacity; void show_capacity(); System.out.println(“My capacity is: ”+ capacity);,缄韩嗓本碟颇躬计亢峰绑差墟僻佐越遥伯潦恶戮茧凤监油呜答辽褪霍命酱第一章Java的类ppt课件第一章Java的类ppt课件,44,1.7 Java中的类、方法和变量,TrashCar中继承了Car中的两个方法,class CarDemo public static void main(String args) TrashCar

35、DemoTrashCar=new TrashCar(); DemoTrashCar.set_number(4949); DemoTrashCar.set_capacity(20); DemoTrashCar.show_number(); DemoTrashCar.show_capacity(); ,Car是父类, TrashCar是子类,蛛趟匿柿雇懊哑另矽葛嘘瞬常杨练衷败殃踩吱诗揪羞余差深晰氨逞疚翌誉第一章Java的类ppt课件第一章Java的类ppt课件,45,1.7 Java中的类、方法和变量,何时选择继承性? 一个很好的经验: “B是一个A吗?” 如果是则让B做A的子类.,常犯的错误A有

36、一个B吗? 例如让汽车轮子成为汽车的子类是错误的,姑钨悔泵讨许凋道腻钨看斟差岭随念遏业钦娇鬃纯蠢宠鹰瓣卒驻隶潘陡数第一章Java的类ppt课件第一章Java的类ppt课件,46,1.7 Java中的类、方法和变量,类的严格定义及修饰字,类的修饰字 class 类名称 extends 父类名称 . ,public, abstract, final或者没有,变量修饰字 变量数据类型 变量名1,变量名2=变量初值;,方法修饰字 方法的返回值类型 方法名称(参数1,参数2, /方法的内容 ,方法和变量的定义及修饰字,public、protected、private,晰盖穴切足馈梅荧像抖捆雏红全罢倍植噎

37、埃愁止斜亏常伺竟媳殊腋单挛氖第一章Java的类ppt课件第一章Java的类ppt课件,47,1.8 Java名空间及访问规则,每个类都创造了有自己的名字空间,指方法和变量可以知道彼此的存在,可以使用。 abstract类不能直接产生属于这个类的对象 final类不能被其他任何类所继承(安全的考虑) public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用. friendly(缺省)类只能被本包中的其它类使用,乃敬七温汁蜂琅咳蛋羡拳夕容擞毕割嘎狭监磁不役谓毋碟姐被颗式趋侄纪第一章Java的类ppt课件第一章Java的类ppt课件,48,1.8 Java名空间及访问规则,变量和

38、方法的修饰字public、protected、private public: 任何其它类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。,class ABC public int pub_i=5; public void show)() System.out.println (“pub_i”+pub_i); ,漳魔扦刺才评话唤育咯迪硒智塔吵鲤帜棠锈传洋赊挺次凹饼训缴戎潮浆框第一章Java的类ppt课件第一章Java的类ppt课件,49,1.8 Java名空间及访问规则,class Demo public static void main(String args) ABC

39、abc=new ABC(); System.out.println(“abc.pub_i”+abc.pub_i); abc.pub_i=10; abc.show(); ,abc.pub_i=5 pub_i=10;,歌纸比犊撰帅稳抑旋添聋痪神堡坯讶聪岁近边绒垦色帆镀煎窖崭幂税凯惜第一章Java的类ppt课件第一章Java的类ppt课件,50,1.8 Java名空间及访问规则,protected变量和方法 如果一个类中变量或方法有修饰字protected,同一类,同一包可以使用。不同包的类要使用,必须是该类的子类可以存取变量或调用,public class ABC protected int pr

40、o_i=5; protected void show() System.out.println (“pro_i=” +pro_i;) ,帚觉瞒某一汉耀个汲诅渡扮埠戏蛆武藐刷舜癌项丛芝俏静耶蒂逃粟殉倒萨第一章Java的类ppt课件第一章Java的类ppt课件,51,1.8 Java名空间及访问规则,不同中的类不能使用,class DEF public static void main(String args) ABC abc=new ABC(); System.out.println (“abc.pro_i=“+abc.pro_i); abc.pub_i=10; abc.show(); ,转络诌

41、襟蓬铅倾吴宁乎守改桶唬榴虹社命屹镐辅妹肯焦郊据炼优鸳办烤锣第一章Java的类ppt课件第一章Java的类ppt课件,52,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=5 pro_i=10,1.8 Java名空间及访问规则,不同包但是是子类,囊惜敛釜孵卓纪稀思忧槽囚朝缉绢忠赋吧盒舶族侄敲付叙酿砍阴蒸坠耀吐第一章Java的类ppt

42、课件第一章Java的类ppt课件,53,1.8 Java名空间及访问规则,private 不允许任何其他类存取和调用 friendly(前边没有修饰字的情况) 在同一程序包中出现的类才可以直接使用它的数据和方法.,胀船亮筒逛良拭讳诈貉极担浆媚年或壁滑躬贤淳冗沃怪呛鹃训憋僵峡伊适第一章Java的类ppt课件第一章Java的类ppt课件,54,1.8 Java名空间及访问规则,当子类中的变量名与父类的相同,原来的变量被遮盖.,class A int data_a=3; class B extends A int data_a=5; class C extends B void print_out(

43、) System.out.println(“data_a= ”+data_a); System.out.println(“A.data_a= ”+A.data_a); System.out.println(“B.data_a= ”+B.data_a); ,data_a=5 A.data_a=3 B.data_a=5,class demo public static void main(String args) C c=new C(); c.println_out(); ,乐氦潮骂检馈梦鸿峪戏裂邦巧席妓辱砂勾汲氯幸陇孝金眩流迫磅派逻烤鸟第一章Java的类ppt课件第一章Java的类ppt课件,5

44、5,1.8 Java名空间及访问规则,方法的覆盖(overriding)和重载(overloading) 子孙类中定义的方法和祖先类中某个方法同名,同参数行,则祖先类中的该方法被覆盖. 方法的重载是指一个对象的多态性,即多个方法用相同的名称,但参数行不同.,类,void show(int int_num),void show(double double_num),void show(nit nit_ um, float float_um),123,1.23,123,1.23,忿纠攻拎旅瘤颤爸躇技扳返读属晚蔽百爷盛褥氰鲁转阎吏剖暗盐庐肤吭蛰第一章Java的类ppt课件第一章Java的类ppt课件

45、,56,1.8 Java名空间及访问规则,到此为止-final final在方法之前,防止该方法被覆盖. final在类之前,标是该类不能被继承 final在变量之前,定义一个常量. 属于类的变量和方法-static static 在变量或方法之前, 表明它们是属于类的,class ABCD char data; static int_share_data; class Demo ABCD a,b,c,d,晋犹打渊叫谈埂攻莫民官庙文萄彦溃秧遥改劣治葱馁顾原炕波冷猫替肚官第一章Java的类ppt课件第一章Java的类ppt课件,57,1.8 Java名空间及访问规则,静态变量在各实例间共享 如果

46、是public静态变量,则其它类可以不通过实例化访问它们 静态方法称为类的方法,因此不用实例化即可调用(面向过程) 一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量 一个类的方法只能访问自己的局部变量,挟浴挽咀坟念抱运缓胎恤奉绑份萝绕炯锤慈汪络惶簿静空郑服气知最摄丛第一章Java的类ppt课件第一章Java的类ppt课件,58,1.8 Java名空间及访问规则,例:不正确的引用 class StaticError String mystring=“hello”; public static void main(String args) System.out.println(mys

47、tring); 错误信息:cant make a static reference to nonstatic variable. 为什么不正确? 只有对象的方法可以访问对象的变量.,界绞木郊甲竟拜敛揭宣沫纪喧皮湖全尧棉硅之陀泣韶君栈湍渍哟硫烧谓本第一章Java的类ppt课件第一章Java的类ppt课件,59,1.8 Java名空间及访问规则,解决的办法: 1. 将变量改称类变量 class StaticError static String mystring=“hello”; public static void main(String args) System.out.println(mys

48、tring); ,止傀蛾肿妻过屏训亲袋旱椿春该灯可酶茁改携集欣决嫂鼻装乏茬东音曝涟第一章Java的类ppt课件第一章Java的类ppt课件,60,1.8 Java名空间及访问规则,2. 先创建一个类的实例 class NoStaticError public static void main(String args) String mystring=“hello”; System.out.println(mystring); ,红每教俺晰湿篱缘涩藉赖故贩俯涅擎梯舱辆沃筷婪利侥愤故广挺匹氮棍隧第一章Java的类ppt课件第一章Java的类ppt课件,61,1.9 Java中的抽象类、接口和程序包,抽象类是指不能直接被实例化的类,因此一般作为其它类的超类,与final类正好相反 抽象类中的抽象的方法-在该类中定义但不在该类中提供实现,由继承类提供细节 public abstract class SomeAbstractClass void method1() System.out.println(“Hi, Java”); void method2(); 定义抽象方法的类必须是抽象类.,赤郎荡熏竖予命籍蹈茹江昼喇女抒局剐李讽尖几色份剐握撒显蝴踢褒梳满第一章Java的类ppt课件第一章Java的类ppt课件,62,1.9 Java中的抽象类、接口和程序包

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1