Java语言程序设计:第三章 对象和类

举报
资源描述
第三章第三章 对象和类对象和类Whats Class,and whats Object?Whats Class,and whats Object?天津职业技术师范大学天津职业技术师范大学Whats Class,and whats Object?Whats Class,and whats Object?天津职业技术师范大学天津职业技术师范大学Whats Class,and whats Object?Whats Class,and whats Object?天津职业技术师范大学天津职业技术师范大学天津职业技术师范大学天津职业技术师范大学3.2 3.2 定义类定义类v面向对象设计的思想面向对象设计的思想什么是对象什么是对象一切都是对象一切都是对象什么是类什么是类对象具有的共同特征是类对象具有的共同特征是类v对象与类的关系对象与类的关系类是对象的模版,对象是类的实例类是对象的模版,对象是类的实例类是抽象的,对象是具体的类是抽象的,对象是具体的图纸图纸大楼,饼干模具大楼,饼干模具饼干饼干天津职业技术师范大学天津职业技术师范大学3.2 3.2 封装封装类类v封装封装类就是定就是定义要使用的要使用的对象的象的类型。型。定定义类的的语法法:访问控制控制符决定符决定这个个类在多大范在多大范围可以被其他可以被其他类访问,可以使用,可以使用public或或default(缺省缺省)。类的命名要符合的命名要符合标识符符规则。访问控制符访问控制符 class 属性属性 方法方法 关键字关键字天津职业技术师范大学天津职业技术师范大学3.2 3.2 封装封装类类public class People public String name;protected int age;public void work()public void sleep()定义定义方法方法(method)定义定义属性(属性(field)天津职业技术师范大学天津职业技术师范大学3.23.2.1.1 定义属性定义属性定定义属性属性的的语法法:访问控制控制符决定符决定这个个属性被属性被访问的范的范围,可以使用,可以使用public、private、protected、default(缺省)(缺省)。数据数据类型可以是基本型可以是基本类型,也可以是型,也可以是类类型。型。属性名属性名必必须是一个是一个标识符符。定定义属性的同属性的同时可以可以显示地示地为其其赋值。(初始化)。(初始化)访问控制符访问控制符 数据类型数据类型 属性名属性名=值值 天津职业技术师范大学天津职业技术师范大学方法的定义方法的定义方法的名称参数列表方法的主体方法返回的类型3.23.2.2.2 定义方法定义方法天津职业技术师范大学天津职业技术师范大学v语法语法 访问控制符访问控制符 (参数列表参数列表)是方法返回值的数据类型是方法返回值的数据类型。是用户自定义的是用户自定义的标识符。标识符。参数列表参数列表是一组变量声明是一组变量声明,,。3.23.2.2.2 定义方法定义方法天津职业技术师范大学天津职业技术师范大学class Test public method1()System.out.println(m1);public double method2(double x)System.out.println(x);public double method3(int i,j)return i*1.0;3.23.2.2.2 定义方法定义方法Test类中定义的方法有无错误?类中定义的方法有无错误?天津职业技术师范大学天津职业技术师范大学以下类有几个以下类有几个成员成员?class Test private int i,j;public void method1()System.out.println(m1);public void method2(int i)System.out.println(m2+i);3.23.2.2.2 定义方法定义方法天津职业技术师范大学天津职业技术师范大学v一个一个Rectangle类3.2 3.2 定义类定义类class Rectangle public int x;public int y;public int getArea()return x*y;天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用v根据根据类来来创建建对象象类名名 对象象名名=new 类名名(参数列表参数列表);Rectangle r1=new Rectangle();v要要通通过公共公共(public)成成员来操作来操作对象或取得象或取得对象信象信息,可以在息,可以在对象象名名后加上后加上“.”运算符来运算符来进行行.r1.x=2;r1.y=3;int area=r1.getArea();天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用vJava虚虚拟机将机将 局部局部变量量存存储在在 栈栈 存存储区区public static void main(String a)int x=10;boolean y=true;天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用vmain中声明中声明2个矩形个矩形类对象名称象名称r1、r2Rectangle r1,r2;r1、r2还没有指向任何没有指向任何对象象实例,例,使用前必使用前必须初始化。初始化。未初始化未初始化未初始化未初始化对象名称,对象名称,也称为也称为引用引用,存,存储储对象实例对象实例的的地址地址天津职业技术师范大学天津职业技术师范大学未初始化未初始化3.3 3.3 对象对象的创建与使用的创建与使用v创建一个建一个对象象实例并例并赋值给r1:r1=new 用来创建用来创建对象实例对象实例,对象实例对象实例存储在存储在 堆堆 存储区。存储区。00r1.xr1.y未初始化未初始化new Rectangle();天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用v创建一个建一个对象象实例并例并赋值给r1:r1=new Rectangle();r1.x=3;r1.y=4;00r1.xr1.yr234天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用v创建一个建一个对象象实例并例并赋值给r1:r2=new Rectangle();34r1.xr1.yr2天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用v创建一个建一个对象象实例并例并赋值给r1:r2=new Rectangle();34r1.xr1.yr200r2.xr2.yox234e1c5f天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用v创建一个建一个对象象实例并例并赋值给r1:r2=r1;34r1.xr1.yr200ox234e1c5f天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用v创建一个建一个对象象实例并例并赋值给r1:r2=r1;34r1.xr1.y天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用class Rectangle public int x,y;public int getArea()return x*y;public static void main(String args)x=2;y=3;int area=getArea();System.out.println(Area of r1 is:+area);属性和方法属于具体属性和方法属于具体对象对象,要通过,要通过对象对象访访问!问!天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用class Rectangle public int x,y;public int getArea()return x*y;public static void main(String args)Rectangle r1;r1.x=2;r1.y=3;int area=r1.getArea();System.out.println(Area of r1 is:+area);没有实例化没有实例化的对象的对象不能使用!不能使用!天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用class Rectangle public int x,y;public int getArea()return x*y;public static void main(String args)Rectangle r1=new Rectangle();r1.x=2;r1.y=3;int area=r1.getArea();System.out.println(Area of r1 is:+area);1.每个类都可以有每个类都可以有main方法方法2.main方法是程序的入口方法是程序的入口3.public修饰的类是修饰的类是Java应用程序的主类应用程序的主类4.一个一个Java源文件可以包含多个类,但源文件可以包含多个类,但只有一个主类只有一个主类5.Java源文件的命名必须与主类同名源文件的命名必须与主类同名天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用class Rectangle public int x,y;public int getArea()return x*y;public class TestClasspublic static void main(String args)Rectangle r1=new Rectangle();r1.x=2;r1.y=3;int area=r1.getArea();System.out.println(Area of r1 is:+area);可以在同一个文件中,将测可以在同一个文件中,将测试代码单独编为一个类。试代码单独编为一个类。注意文件名应为主类名。注意文件名应为主类名。天津职业技术师范大学天津职业技术师范大学3.3 3.3 对象对象的创建与使用的创建与使用public class Rectangle public int x,y;public int getArea()return x*y;public class TestClasspublic static void main(String args)Rectangle r1=new Rectangle();r1.x=2;r1.y=3;int area=r1.getArea();System.out.println(Area of r1 is:+area);也可以分两个文件分别编写。也可以分两个文件分别编写。天津职业技术师范大学天津职业技术师范大学3.43.4.1.1 参数传递参数传递public class PassValueTest private int inner=100;public void test1(int b)b*=2;public void test2(PassValueTest b)b.inner*=2;public void test3(PassValueTest b)b=null;public static void main(String args)PassValueTest obj=new PassValueTest();int local=100;obj.test1(local);System.out.println(local);obj.test2(obj);System.out.println(obj.inner);obj.test3(obj);System.out.println(obj);100200PassValueTest 4f1d0d天津职业技术师范大学天
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 中学教育 > 初中教育


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号