ImageVerifierCode 换一换
格式:PPT , 页数:98 ,大小:559.24KB ,
文档编号:4371541      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-4371541.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(第四Java面向对象编程基础课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

第四Java面向对象编程基础课件.ppt

1、第三章Java面向对象编程基础 第三章J a v a 面向对象编程基础3.1 java的类3.1.1 创建对象与定义构造函数3.1.2 系统定义的类3.2 方法3.3静态成员3.4包3.5访问控制符提纲3.1 j a v a 的类提纲Java 类J a v a 类掌握类的定义形式,java类的结构掌握对象实例化方法教学要求掌握类的定义形式,j a v a 类的结构教学要求 类是定义一个对象的数据和方法的蓝本;对象代表现实世界中可以明确标识的任何事物,包括状态和行为用户定义的类类是定义一个对象的数据和方法的蓝本;用户定义的类定义格式:修饰符 class 类名 extends 父类名 implem

2、ents 接口名 类属性声明;类方法声明;用户定义的类修饰符:-访问控制符-抽象类(abstract)-最终类(final)定义格式:用户定义的类修饰符:class juxing int x;int y;int S()return x*y;属性方法类定义示例 c l a s s j u x i n g 属性方法类定义示例类定义示例class PhoneCard long cardNumber;private int password;double balance;String connectNumber;boolean connected;boolean performConnection(l

3、ong cn,int pw)double getBalance()void performDial().属性方法类定义示例c l a s s P h o n e C a r d 属性方法创建对象1.格式:类名 新建对象名 new 构造函数(参数);eg:1.Phonecard mycard=new phonecard()创建对象格式:P h o n e c a r d m y c a r d=n e w p h2 使用对象的数据和方法public class testcirclepublic static void main(String args)circle mycircle=new ci

4、rcle();System.out.println(the area of the circle of radius+mycircle.radius+is+mycircle.findarea();class circle double radius=1.0;double findarea()return radius*radius*3.14159;objectname.method引用对象的方法 objectname.data引用对象的数据2 使用对象的数据和方法构造函数构造函数名与类名同名,缺省形式:A()构造函数没有返回类型构造函数主要是完成对象的初始化工作构造函数在构造类对象时被系统自动

5、调用执行,不可被显式调用执行构造函数构造函数名与类名同名,缺省形式:A()构造函数示例 class PhoneCard long cardNumber;private int password;double balance;PhoneCard(long lc,int ip,double db)cardNumber=lc;password=ip;balance=db;无返回类型没有return语句和类名一致PhoneCard m1=new PhoneCard();PhoneCard()PhoneCard m1=new PhoneCard(5,6,82.5);构造函数示例 c l a s s P

6、h o n e C a r d 无返回类型没有例:使用构造函数public class TestCircleWithConstructorspublic static void main(String args)Circle myCircle=new Circle(5.0);System.out.println(The area of the circle of radius +myCircle.radius+is +myCircle.findArea();Circle yourCircle=new Circle();System.out.println(The area of the cir

7、cle of radius +yourCircle.radius+is +yourCircle.findArea();class Circle double radius;Circle()radius=1.0;Circle(double r)radius=r;double findArea()return radius*radius*3.14159;例:使用构造函数p u b l i c c l a s s T e s t C i r c l构造函数示例构造函数示例 类中变量的默认初始化Java中,一个类中如果没有定义构造方法,则编译器会自动生成一个没有参数的构造方法,用来初始化类对象,并将类

8、中变量自动初始化为该类型的默认值:类中变量的默认初始化 整型初始化为0;实型初始化为0.0f、0.0d;逻辑型初始化为false;字符型初始化为u0000;类对象初始化为null,表明不指向任何内存地址的引用如果类中定义了构造方法,则不会自动生成没有参数的构造方法。整型初始化为0;class Department int m_DeptNo=10;String m_DeptName;int m_DeptTotalEmp=30;Department(int dno,String dname,int total)m_DeptNo=dno;m_DeptName=dname;m_DeptTotalEmp

9、=total;Department d0 =new Department()成员变量赋值1030nullc l a s s D e p a r t m e n t 成员变量赋值1 0 3 0 n u lDepartment d1 =new Department(45,”lg”,20)d1 Department d2 =new Department(33,”lg”,20)d24520lg3320lgD e p a r t m e n t d 1 4 5 2 0 l g 3 3 2 0 l g class Person String name;char sex;int age;double hei

10、ght;Person(String s,char ch,int k,double d)name=s;sex=ch;age=k;height=d;String show()return 姓名:+name+性别:+sex+年龄:+age+身高:+height;课堂练习c l a s s P e r s o n 课堂练习public class deftype public static void main(String args)Person obj1=new Person(张勇,男,22,1.75);System.out.println(obj1.show();obj1.name=李涛;obj1

11、.sex=女;System.out.println(obj1.show();p u b l i c c l a s s d e f t y p e 对象的内存模型如果一个对象没有被初始化,则该对象为null,表示不指向任何内存地址的引用。如果一个对象赋给另一个对象,则两个对象的引用地址相同,它们实际上是同一个对象,只是具有不同的名称。对象的内存模型简单类型赋值 I=j 对象类型赋值 c1=new circle(5);c2=new circle(5);赋值前 赋值后 赋值前 c1=c2 赋值后ii12 J j22c1 c2c1C2 C1:circleRadius=5C2:circleRadius

12、=9简单类型变量和对象类型变量的区别:简单类型赋值 I=j 对象类型赋值 public class testequal public static void main(String args)Person p1=new Person(张勇,男,22,1.75);Person p2=new Person(张勇,男,22,1.75);System.out.println(p1=p2:+(p1=p2);Person p3=p1;System.out.println(p3=p1:+(p3=p1);p3.name=网友;System.out.println(p1.name:+p1.name);class

13、 Person String name;char sex;int age;double height;Person(String s,char ch,int k,double d)name=s;sex=ch;age=k;height=d;p u b l i c c l a s s t e s t e q u a l 方法1.定义格式修饰符 返回类型 方法名(形式参数表)2 方法调用格式格式类名或对象名.方法名(实参表)方法1.定义格式2 方法调用格式3、说明1)方法名为合法标志符2)形式参数表是用,隔开的变量定义表每个变量必须逐个说明可以为空,或为void放在()内,()是方法的标志方法3、说

14、明方法3)方法体4)返回类型与函数返回值有返回值函数:返回类型可以是任何已有类型函数体中必须使用return 表达式;结束函数的运行表达式类型须与返回类型匹配方法体中在return 语句后的语句不会被执行无返回值的函数:返回类型必须说明为void函数体中可用return 语句或不用3)方法体方法的重载 方法重载是指在同一个类里面,有两个或两个以上具有相同名称,不同参数序列的方法。例如,三角型类可以定义多个名称为area的计算面积的方法,有的接收底和高做参数,有的接收3条边做参数。这样做的好处是,使开发人员不必为同一操作的不同变体而绞尽脑汁取新的名字,同时也是使类的使用者可以更容易地记住方法的名

15、称。1方法重载的规则 2重载方法的匹配方法的重载方法重载是指在同一个类里面,有两个或两个以上具有相 Public void println(boolean x)Public void println(int x)Public void println(char x)Public void println(long x)Public void println(float x)Public void println(double x)Public void println(String x)P u b l i c v o i d p r i n t l n(b o o l e a n x递归 程序

16、由方法组成,而方法又以层次的方式调用其他的方法,但有些时候,这些方法需要调用自身从而方便地求解一些特殊的问题。递归方法就是自调用方法,在方法体内直接或间接地调用自己,即方法的嵌套是方法本身。递归的方式分为2种:直接递归和间接递归,下面分别介绍这2种递归。递归程序由方法组成,而方法又以层次的方式调用其他的方法,但有 字符串常量(对象)构造方法 public String()pubic String(String s)public String(char value)java.lang.String 字符串常量(对象)j a v a.l a n g.S t r i n gString str1=“

17、hello”String s1=new String();string s1=new String(abcd);char a=new chare,f,g,h;String s1=new String(a);abcdefghs1S t r i n g s t r 1=“h e l l o”a b c d e f g h s 1获取字符串长度public int length()判断字符串的前缀和后缀public boolean startsWith(String prefix)public boolean endsWith(String suffix)java.lang.String获取字符串长

18、度j a v a.l a n g.S t r i n gs1.length()s1.startsWith(jk)s1.endWith(jk)efghs14falsefalses 1.l e n g t h()e f g h s 1 4 f a l s e f a l s e字符串中单个字符查找public int indexOf(int ch)public int indexOf(int ch,int fromIndex)public int lastIndexOf(int ch)public int lastIndexOf(int ch,int fromIndex)public char c

19、harAt(int index)java.lang.String字符串中单个字符查找j a v a.l a n g.S t r i n gs1.charAt(2)s1.indexOf(e)s1.indexOf(e,1)efghs1g0-1s 1.c h a r A t(2)e f g h s 1 g 0-1s1.indexOf(ef)s1.indexOf(ef“,1)s1.substring(0,2)efghs10-1efgs 1.i n d e x O f(e f )e f g h s 1 0-1 e f g替换字符串中的字符 public String replace(char so,ch

20、ar dst)字符串大小写转换 public String toLowerCase()public String toUpperCase()java.lang.Stringj a v a.l a n g.S t r i n g String s2=s1.replace(e,a)s2=s1.toUpperCase()efghs1afghs2efghs1EFGHs2e f g h s 1 a f g h s 2 e f g h s 1 E F G H s 2比较两个字符串public int compareTo(String anotherString)public boolean equals(

21、Object anObject)连接字符字串public String concat(String str)基本数据类型转换为字符串 public static String valueOf(X x)java.lang.String比较两个字符串j a v a.l a n g.S t r i n pareTo(dddddddddddd)s1.equals(“efgh”)s1.equalsIgnore(“EFGH”)String s3=s1.concat(“ijk”);String s4=String.valueOf(56);1efghs1truetrueefghs1efghijks356s4s

22、 1.c o m p a r e T o(d d d d d d d d d d d d )1 epublic class Stringdemo public static void main(String args)String s=string test;int stringlength=s.length();/获得字符串长度 System.out.println(stringlength=+stringlength);boolean startsTest=s.startsWith(str);/检查字符串前缀与后缀 boolean endsTest=s.endsWith(est);Syst

23、em.out.println(startTest=+startsTest+endTest=+endsTest);int blankindex=s.indexOf(s);/查询特定字符位置 System.out.println(blankindex=+blankindex);int substringindex=s.indexOf(est);/查询特定子串位置 System.out.println(substringindex=+substringindex);int lastindex=s.lastIndexOf(s);/逆向查询特定子串或字符位置 System.out.println(las

24、tindex=+lastindex);p u b l i c c l a s s S t r i n g d e m o p uString s2=string testa;String s3=string testb;/字符串比较 int compare=pareTo(s3);System.out.println(compare=+compare);boolean equaltest=s2.equals(s);/字符串相等判断 System.out.println(equaltest=+equaltest);char singlechar=s.charAt(3);/得到特定位置的字符 Sys

25、tem.out.println(singlechar=+singlechar);String substring=s.substring(3);/得到从特定位置开始的子串 System.out.println(substring=+substring);String s4=string test;String trimstring=s4.trim();/除去字符串两端的空白字符 System.out.println(trimstring=+trimstring);String uppercase=trimstring.toUpperCase();/得到字符串大写与小写 String lower

26、case=trimstring.toLowerCase();System.out.println(uppercase=+uppercase);System.out.println(lowercase=+lowercase);stringlength=12startTest=true endTest=falseblankindex=0substringindex=8lastindex=9compare=-1equaltest=falsesinglechar=isubstring=ing test trimstring=string testuppercase=STRING TESTlowerca

27、se=string testS t r i n g s 2=s t r i n g t e s t a ;s t r i n 构造方法public StringBuffer()public StringBuffer(int length)public StringBuffer(String str)字符串变量的扩充、修改与操作public StringBuffer append(String str)public StingBuffer insert(int offset,char ch)public StringBuffer deleteCharAt(int s)public StringB

28、uffer delete(int start,int end)public StringBuffer reverse()public StringBuffer setCharAt(int in,char ch)java.lang.StringBuffer 构造方法j a v a.l a n g.S t r i n g B u f f e rStringBuffer s1=new StringBuffer();StringBuffer s2=new StringBuffer(abcd);StringBuffer s3=new StringBuffer(6);s2.insert(1,gggg);s

29、2.setCharAt(1,d);s3.append(odj);s1abcds2 s3aggggbcds2adgggbcds2odjs3S t r i n g B u f f e r s 1=n e w S t r i n g B u f f s2.deleteCharAt(1);s2.reverse()agggbcds2dcbgggas2 a g g g b c d s 2 d c b g g g a s 2public class stringbufferdemo public static void main(String args)StringBuffer buffer=new Str

30、ingBuffer();buffer.append(s);buffer.append(tringbuffer);System.out.println(buffer.charAt(1);System.out.println(buffer.capacity();System.out.println(buffer.indexOf(tring);System.out.println(buffer=+buffer.toString();t161buffer=stringbufferp u b l i c c l a s s s t r i n g b u f f e r d e m o 数组(对象)1.

31、数组(存储一组同类型的数据)1)声明与创建(分三步走)声明数组 数据类型 数组名 int a;int a;创建数组空间 数组名new 数据类型数组大小 a=new int5;int a=new int5;数组(对象)1.数组(存储一组同类型的数据)2)数组的初始化和处理Length(返回数组的大小)double a=new double10;a.length=10下标0-arrayobject.length-1 数组元素的表示数组名【下标】数组元素赋值for(int i=0;ia.length;i+)ai=i;同时创建 int b=1,2,3,4,5;2)数组的初始化和处理 对象数组 Circ

32、le circlearray=new circle10;For(int i=0;icirclearray.length;i+)circlearrayi=new circle();对象数组class circle float fradius;int x,y;circle(float fradius,int x,int y)this.fradius=fradius;this.x=x;this.y=y;public float computearea()return(float)Math.PI*fradius*fradius;public class objectarraydemo public s

33、tatic void main(String args)circle arraycircle=new circle(2.0f,0,0),new circle(4.0f,1,1),new circle(5.0f,2,2);int i;float farea=0;for(i=0;iarraycircle.length;i+)farea=putearea();System.out.println(di+(i+1)+cirlce area:+farea);c l a s s c i r c l e/数组符值是把同一数组空间取了一个别名public class arrayfuzhi public sta

34、tic void main(String args)int a=1,2,3,4;int d=new int5,6,7,8;a=d;for(int i=0;ia.length;i+)System.out.println(a+i+=+ai+nd+i+=+di);d0=56;System.out.println(a0=+a0+nd0=+d0);a0=5d0=5a1=6d1=6a2=7d2=7a3=8d3=8a0=56d0=56/数组符值是把同一数组空间取了一个别名a 0 =5/数组拷贝class testarraypublic static void main(String args)int num

35、1=new int1,2,3;int num2=new int3;System.arraycopy(num1,0,num2,0,num1.length);for(int i=0;inum1.length;i+)System.out.println(num2i);1 2 3/数组拷贝class testarraypublic static void main(String args)int num1=new int1,2,3;int num2=new int10;System.arraycopy(num1,1,num2,8,2);for(int i=0;inum2.length;i+)Syste

36、m.out.println(num2i);0000000023c l a s s t e s t a r r a y 02.二维数组1)定义2)性质实质是一维数组的一维数组length是行数3)操作二维数组元素下标访问元素交换2.二维数组/二维数组int f=2,3,4,4,5,6;System.out.println(f.length=+f.length);/二维数组是数组的数组int g=new int 2;g0=new int5;g1=new int5/创建多维数组空间时可把行和列分开f=new int 6;for(int i=0;if.length;i+)fi=new int i+1;

37、234456 /二维数组2 3 4 4 5 6 public class arraydemo public static void main(String args)int narray=new int 4;narray0=new int1;narray1=new int2;narray2=new int3;narray3=new int4;int ncounter=0;for(int m=0;mnarray.length;m+)for(int n=0;nnarraym.length;n+)narraymn=ncounter;ncounter+;for(int m=0;mnarray.leng

38、th;m+)for(int n=0;n=1)System.out.println(c.radius+tt+c.findArea();c.radius+;times-;p u b l i c c l a s s T e s t P a s s i n g O b j e c t属性修饰符:A:访问控制符:public protected private defaultB:static final volatile1)A中几种修饰符不可同时修饰类的属性2)B中final与volatile不可共存方法修饰符:A:访问控制符:public protected private defaultB:abst

39、ract static final native synchronized类的修饰符:类访问控制符A:public default B:abstract final1)abstract与final不可同时用来修饰类修饰符的使用属性修饰符:修饰符的使用Package teacher;Public class test2 Package teacher;class test2 Package teacher;class test1 public static void main(String args)test2 t2=new test2();PUBLIC可以被任意外部(不同包中)访问DEFAUL

40、T在同一个包中可以访问Package student;Public class test2 Package student;class test2 P a c k a g e t e a c h e r;P a c k a g e t e a c h e Public protected defaultprivate属性与方法 同类同包 子类(不同包)通用性(不同包非子类)访问权限表 范围A:所有类B:包中类D:本类C:所有子类E:包中子类public缺省privateprotected范围A:所有类B:包中类D:本类C:所有子类E:包中p u b l4-74-71)A中几种控制符不可共存2)

41、abstract与final不可共存abstract final class c3)abstract 与static不可共存 4)abstract与private不可共存 5)abstract与native不可共存6)abstract方法必须在abstract类中7)static方法只能处理static属性方法修饰符的使用1)A 中几种控制符不可共存方法修饰符的使用public class A abstract void p();int k=9;static int j=8;final A a1=new A();final void q()public static void main(Str

42、ing args)int i=j;int i=k;A a=new A();a.a1=new A();q();K是非satatic属性q是非satatic方法p u b l i c c l a s s A K 是非s a t a t i c 属性q 是非spublic final class test volatile final int j=9;public static final int k=20;public test().final test().abstract final void q()abstract void p()abstarct方法不可在非abstract类中p u b

43、l i c f i n a l c l a s s t e s t a b s t a r本章内容回顾 掌握类的定义 掌握对象的实例化 掌握类成员访问的方法(特别是方法的调用)清楚对象的初始化过程 了解访问控制符的控制范围 了解其他修饰符的作用本章内容回顾掌握类的定义写一名为STOCK 的类模拟股票,类的属性和方法如下:,方法CHANGEPERCENT 表示当前价格与上期收盘价变化的百分比 stock private string symbol public double currentprice private string name public stock()private double

44、 previousclosingprice public stock(string symble,string name)public string getsymble()public string gertname()public double getpreviousclosingprice()public double gercurrentprice()Public void setsymbol(string symbol)Public void setname(string name)Public void setpreviousclosingprice(double price)Public void setcurrentprice(double price)Public double changepercent()写一个用户测试STOCK类,创建一个对象,其股票标志为SUNW,名称为SUN MICROSYSTEM INC,上期收盘价为100,随机设置一个新的当前价,显示价格变化百分比写一名为S T O C K 的类模拟股票,类的属性和方法如下:,方法

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|