java第4章 类与对象.ppt
《java第4章 类与对象.ppt》由会员分享,可在线阅读,更多相关《java第4章 类与对象.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、java第4章类与对象4.1 类和对象类和对象类名类名学生学生属性属性/成员成员变量变量姓名姓名学号学号数学成绩数学成绩英语成绩英语成绩语文成绩语文成绩方法方法/成员成员方法方法设置成绩设置成绩求平均分求平均分显示成绩显示成绩:张同学张同学张三张三100988070setScore()average()display()类是对具有相同属性和方法的一组对象的抽象类是对具有相同属性和方法的一组对象的抽象对象是类的示例对象是类的示例3.创建对象创建对象(1)声明对象:系统只为该变量建立了一个)声明对象:系统只为该变量建立了一个引用,并未给对象分配内存空间引用,并未给对象分配内存空间类名类名 对象名;
2、对象名;Student s1,s2,s3;(2)建立对象:)建立对象:对象名对象名=new 类名类名(实参表实参表)s2=new Student(zhang,102);初始化对象初始化对象(3)初始化对象)初始化对象法法1:未显式初始化时,:未显式初始化时,java提供默认值提供默认值 见表见表4.1法法2:显式初始化,在类体内定义数据成员时:显式初始化,在类体内定义数据成员时 与与C+不同不同class StudentString name;/缺省为缺省为nullString stuNum=101;/显式赋值显式赋值Double math,english,chinese;/缺省为缺省为0法法
3、3:用构造方法初始化:用构造方法初始化4.使用对象使用对象当一个对象被创建后,就拥有了自己的数据成员和成员方法,当一个对象被创建后,就拥有了自己的数据成员和成员方法,用用.来使用对象的数据、方法来使用对象的数据、方法对象名对象名.数据成员数据成员对象名对象名.成员方法名成员方法名 Student s1,s2;s1=new Student();s2=new Student(zhang,102);s1.name=“wang”;s1.math=90;s1.setScore(90,80,70);s1.average();s1.display();例例c4_2.java 显示小狗的信息显示小狗的信息定义
4、定义dogs类类 Name、Weight和和Height三个数三个数据成员和一个名为据成员和一个名为ShowDog的成员方法。为的成员方法。为dogs类创建类创建Dane和和Setter两个对象,确定两两个对象,确定两个对象的属性后引用个对象的属性后引用ShowDog方法显示这两方法显示这两个对象。个对象。import java.awt.*;import java.applet.*;class Dogs /定义定义dogs类类 public String Name;public int Weight;public int Height;public void ShowDog(Graphics
5、g,int x,int y)g.drawString(Name:+Name,x,y);g.drawString(Weight:+Weight,x,y+20);g.drawString(Height:+Height,x,y+40);/dogs类定义毕类定义毕 public class c4_2 extends Applet public void paint(Graphics g)/创建对象创建对象 Dogs Dane;/声明声明Dane的对象的对象 Dane=new Dogs();/建建Dane对象,分配存储空间对象,分配存储空间 dogs Setter=new dogs();/声明同时建声明
6、同时建Setter对象对象 /引用对象的数据成员,引用对象的数据成员,赋值赋值 Dane.Name=Gread Dane;Dane.Weight=100;Dane.Height=23;Setter.Name=Irish Setter;Setter.Weight=20;Setter.Height=30;/引用对象的成员方法引用对象的成员方法 Dane.ShowDog(g,25,25);Setter.ShowDog(g,25,120);DogsNameWeightheightShowDog()4.2 成员方法成员方法描述对象所具有的功能和操作描述对象所具有的功能和操作 函数和方函数和方法法一个类可
7、以有多个一个类可以有多个 方法方法例:方法例:方法import java.lang.*;import java.io.*;class MyAddint add(int x,int y)int z;z=x+y;return z;public boolean cmp(double x,double y)return(xy)?true:false;public class MethodTestpublic static void main(String args)int a=3,b=4;MyAdd ma=new MyAdd();int r1=ma.add(a,b);System.out.printl
8、n(r1);boolean r2=ma.cmp(a,b);/运行结果:运行结果:7例例:类库成员方法类库成员方法absimport java.lang.Math;class MethodTest public static void main(String args)int a=-3;int b=Math.abs(a);System.out.println(b);/结果为结果为3(3)方法体中的局部变量方法体中的局部变量局部变量的可见局部变量的可见性和作用域限于性和作用域限于本方法本方法局部变量声明前局部变量声明前不应加修饰符不应加修饰符局部变量使用前局部变量使用前必须赋值必须赋值/c4_10
9、.java 局部变量及其用法。局部变量及其用法。public class c4_10 public static void main(String args)int a=2,b=3;int f=add(a,b);/调用调用add方法方法 System.out.println(f=+f);/System.out.println(z=+z);错,错,z在在add方法内,离开则被清除方法内,离开则被清除 static int add(int x,int y)/public int zz;错错,局部变量局部变量zz前不应加修饰符前不应加修饰符 int z,d;/本方法中定义的变量本方法中定义的变量z,
10、d z=x+y;/z=x+d;错,因为错,因为d还没有赋值就使用还没有赋值就使用 return z;(4)形式参数和实际参数形式参数和实际参数 c4_12_13.javapublic class c4_12_13 static void add(double x,double y)double z;z=x+y;System.out.println(z=+z);static double add1(double y1,double y2)double z;z=y1+y2+2.9;return z;public static void main(String args)int a=2,b=7;do
11、uble f1=2,f2=4,f3;add(a,b);/按按Java的类型转换规则达到形参类型的类型转换规则达到形参类型 /f3=add1(f1,f2,3.5);/错,实参与形参参数个数不一致错,实参与形参参数个数不一致 System.out.println(“a=”+a+“tb=”+b);/输出结果输出结果a2,b7值传递值传递 f3=2+add1(f1,f2);add(a,add1(f1,f2);z=9.0a=2 b=7 z=10.9引用成员方法的注意事项引用成员方法的注意事项被引用的方法与调用者是在同一类内被引用的方法与调用者是在同一类内 可直接调用可直接调用被引用的方法同调用者不同属于
12、一个类,但属于一个文件被引用的方法同调用者不同属于一个类,但属于一个文件由类的修饰符和方法的修饰符共同决定由类的修饰符和方法的修饰符共同决定被调用的是被调用的是java类库的方法类库的方法importimport java.awt.*;import java.applet.*;class Studentdouble math;double english;double chinese;private double avg()return(math+english+chinese)/3;public void disp(Graphics g,int x,int y)g.drawString(显示
13、平均成绩:显示平均成绩:+avg(),x,y);public class c4_3 extends Applet public void paint(Graphics g)Student s1=new Student();s1.math=80;s1.english=90;s1.chinese=80.5;/s1.avg();s1.disp(g,20,40);引用成员方法的注意事项引用成员方法的注意事项私有方法私有方法虽是私有方法,虽是私有方法,但本类内可以直接调用但本类内可以直接调用私有方法,类外不可以调用私有方法,类外不可以调用公有方法公有方法类外可以类外可以调用调用4.3 构造方法构造方法一
14、种特殊的方法一种特殊的方法回顾:初始化对象时回顾:初始化对象时(即初始化对象的数据成员)即初始化对象的数据成员)1.在类体内声明数据成员时在类体内声明数据成员时2.直接使用缺省值直接使用缺省值 (见(见初始化对象初始化对象)3.使用构造方法使用构造方法class StudentString name;/系统默认值为系统默认值为nullString stuNumber;double math,english,chinese;/系统默认值为系统默认值为0public Student();public Student(String mname,String mstuNumber)name=mname
15、;/构造方法内初始化构造方法内初始化stuNumber=mstuNumber;特点:特点:构造方法同类名同名构造方法同类名同名无返回值无返回值 class Dogs public int Dogs();/错 不是由程序员显式调用的,而是在创建对象的时候由系统自不是由程序员显式调用的,而是在创建对象的时候由系统自动调用的动调用的默认构造:若用户未定义构造方法,默认构造:若用户未定义构造方法,见见c4_2系统为该类定义了一个空构造系统为该类定义了一个空构造 注意:若已经定义了一个构造,则该默认构造被覆盖,如果注意:若已经定义了一个构造,则该默认构造被覆盖,如果想还适应无参的构造,自己应再写一个。想
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java第4章 类与对象 java 对象
限制150内