第四Java面向对象编程基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第四Java面向对象编程基础课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 Java 面向 对象 编程 基础 课件
- 资源描述:
-
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
展开阅读全文