山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)3-2 类和对象(二)_访问修饰符-abstract-final-static

东理SHANDONGUNIVERSITYOFTECHNOLOGY类和对象一对象组合、包、访问修饰符、abstract、final、static、this专业专注创新
专业 专注 创新 类和对象 ——对象组合、包、访问修饰符、 abstract、final、static、this

东理功客回顾SHANDONG UNIVERSITY OFTECHNOLOGY类和对象的概念定义成员变量类的封装与局部变量比较位置变量隐藏类的定义类变量与实例变量★成员变量★成员方法定义成员方法对象的创建和使用参数的传递1方法的重载对象的生命周期垃圾自动回收机制不定长参数定义构造方法专业专注创新
专业 专注 创新 回顾 类和对象的概念 类的封装 类的定义 成员变量 成员方法 对象的创建和使用 对象的生命周期 垃圾自动回收机制 定义 成员变量 与局部变量比较 位置 变量隐藏 类变量与实例变量 定义 成员方法 参数的传递 方法的重载 不定长参数 定义 构造方法

东理本节学习目标SHANDONGUNIVERSITY OFTECHNOLOGY1、static02、对象的组合3、包(package)4、import5、访问修饰符public、protected、默认(友好)、private6、abstract 7、 final8、this专业专注创新
专业 专注 创新 本节学习目标 1、static 2、对象的组合 3、包(package) 4、import 5、访问修饰符 public、protected、默认(友好)、private 6、abstract 7、final 8、this

东理1 staticSHANDONGUNIVERSITY OFTECHNOLOGY静态的(static)成员变量一一类变量如:System.out;Math.Pl7静态的(static)成员方法一一类方法如:publicstaticvoid main()如: Math.sqrt()Arrays.sort()★publicstaticdouble sqrt(double a)静态代码块专业专注创新
专业 专注 创新 1 static 静态的(static)成员变量——类变量 如:System.out ;Math.PI 静态的(static)成员方法——类方法 如:public static void main( ) 如:Math.sqrt( ) Arrays.sort() public static double sqrt(double a) 静态代码块

东理宝关于static成员的解释SHANDONGUNIVERSITYOFTECHNOLOGYstatic修饰的成员属于类所有,是每个对象实例所共享的成员。静态成员的引用方式:类名称+“"+域变量/方法7★对象名称+”+域变量/方法(不推荐使用)静态数据与静态方法通常提供共享的数据或工具方法,如:Math.Pl, Math.Exp()、Math.Log()、Math.Sin()Maht.ceilO, Math.floor(),Math.round()Integer.parselnt()、Integer.MAX_VALUE专业专注创新
专业 专注 创新 关于static成员的解释 static修饰的成员属于类所有,是每个对象实例所共 享的成员。 静态成员的引用方式: 类名称+“.”+域变量/方法 对象名称+“.”+域变量/方法(不推荐使用) 静态数据与静态方法通常提供共享的数据或工具方法 ,如: Math.PI, Math.Exp()、Math.Log()、Math.Sin()、 Maht.ceil(), Math.floor(), Math.round() Integer.parseInt()、Integer.MAX_VALUE

东理静态成员使用举例SHANDONG UNIVERSITY OFTECHNOLOGYpublicclassCircleDemoclassCirclefYprivatedoubleradius;l/半径publicstaticvoidmain(Stringargs)public static doublePl=3.14159;publicCircle()I无参数构造方法Circlec1=newCircle(1.0);ySystem.out.println("圆半径为:"+c1.getRadius();this(0.0);System.out.println("圆周长为:"+c1.getLength(0);1System.out.println("圆面积为:"+c1.getArea())System.out.println("静态变量:"+Circle.Pl);publicCircle(doubleradius)I有参构造方法(this.radius=radius;1人publicdoublegetRadius()注意事项return radius;1public void setRadius(double radius)静态方法不能直接使用非静态this.radius=radius;}域变量和非静态方法;public double getLengtho)return Pl*2*radius;}public double getArea()静态方法只能直接调用静态方returnPl*radius*radius;法和静态变量。(也可创建对象后,通过对象调用)
专业 专注 创新 静态成员使用举例 class Circle{ private double radius; //半径 public static double PI=3.14159; public Circle() //无参数构造方法 { this(0.0); } public Circle(double radius) //有参构造方法 { this.radius=radius; } public double getRadius() { return radius; } public void setRadius(double radius) { this.radius=radius; } public double getLength() { return PI*2*radius; } public double getArea() { return PI*radius*radius; } } public class CircleDemo { public static void main(String args[]) { Circle c1=new Circle(1.0); System.out.println("圆半径为:"+c1.getRadius()); System.out.println("圆周长为:"+c1.getLength()); System.out.println("圆面积为:"+c1.getArea()); System.out.println("静态变量:"+Circle.PI); } } 注意事项 • 静态方法不能直接使用非静态 域变量和非静态方法; • 静态方法只能直接调用静态方 法和静态变量。(也可创建对 象后,通过对象调用)

东理功客类生成实例(对象)的再解释SHANDONGUNIVERSITY OF TECHNOLOGY程序执行过程中,类字节码只加载一次(第一次定义变量时之后常驻内存),程序执行完毕从内存中卸载。类字节码加载静态变量分配空间,赋值静态方法分配入口地址执行静态代码块new操作一一创建对象第一次执行,可能引发类字节码加载(如未加载)类的加载有多种方式用该类的字节码生成一个对象,为对象分配内存为实例变量分配内存并赋初值:执行该类的构造方法(可能再为实例变量赋值);实例方法分配入口地址(第一次)专业专注创新
专业 专注 创新 类生成实例(对象)的再解释 程序执行过程中,类字节码只加载一次(第一次定义变量时, 之后常驻内存),程序执行完毕从内存中卸载。 类字节码加载 静态变量分配空间,赋值 静态方法分配入口地址 执行静态代码块 new操作——创建对象 第一次执行,可能引发类字节码加载(如未加载)类的加载有多种方式 用该类的字节码生成一个对象,为对象分配内存 为实例变量分配内存并赋初值; 执行该类的构造方法(可能再为实例变量赋值); 实例方法分配入口地址(第一次)

东理2、对象的组合SHANDONG UNIVERSITY OFTECHNOLOGY成员变量可以是JAVA允许的任何数据类型ClassA类可以把ClassB类对象成员变量★对象之间的关系:has-a专业专注创新
专业 专注 创新 2、对象的组合 成员变量可以是JAVA允许的任何数据类型 ClassA类可以把ClassB类对象 成员变量 对象之间的关系:has-a

东理功—举例对象的组合SHANDONGUNIVERSITYOFTECHNOLOGYJRectanglejavaXDCubicjavaDCubicTestjavaDCubicjava XDCubicTest.javaDRectanglejavapublicclass Rectanglefpublic class Cubiafint w;Rectangle rect;int h;int z;Cpublic int length() (public int volumn()(return 2*(w+h):return rect.area() * z;子子1-public int area() (D RectanglejavaDcubicjavaDCubicTestjavaXreturn w * h;7public class cubicTestpublic static void main(string[l args) (7cubic c=new cubic();Rectangle rect=new Rectangle();rect.w=1o;rect.h=3;立方体对象cc.rect=rect;包含一个长方形对象rectC.Z=2;System.out.println(c.volumn());7
专业 专注 创新 对象的组合——举例 立方体对象c 包含一个长方形对象rect

东理3、包SHANDONGUNIVERSITYOFTECHNOLOGY为什么要使用包?易于管理易于查找文档分门别类,不同内容的文档可以放在不同的文件夹中拥有相同的名字,避免冲突专业专注创新
专业 专注 创新 3、包 文档分门别类,易于查找 不同内容的文档可以放在不同的文件夹中, 拥有相同的名字,避免冲突 易于管理 为什么要使用包?
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)3-1 类与对象(一).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)2-3 JAVA语言语法基础(数组、语句).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)2-2 JAVA语言语法基础(数据类型及其转换+运算符、表达式).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)11-1 网络程序设计.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)10-1 多线程.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)10(第十章 网络编程).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)09(第九章 多线程编程).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)08(第八章 JDBC编程).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)07(第七章 输入输出).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)06(第六章 常用类和集合框架).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)05(第五章 异常).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)03(第三章 类和对象).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)02(第二章 JAVA语法基础).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)01(第一章 JAVA语言入门).ppt
- 《C语言》课程资源_C语言_教学课件_15——程序设计基础1——第6章——break——continue.ppt
- 《C语言》课程资源_C语言_教学课件_14——程序设计基础1——-循环嵌套.ppt
- 《C语言》课程资源_C语言_教学课件_13——for——循环语句的使用.ppt
- 《C语言》课程资源_C语言_教学课件_12——逗号表达式的运用.ppt
- 《C语言》课程资源_C语言_教学课件_11-do——while循环.ppt
- 《C语言》课程资源_C语言_教学课件_10——循环结构——-while循环.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)4-1 类的继承和多态.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)4-2 接口及其使用.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)5-1 内部类.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)5-2 异常及其处理.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)6-1 常用类(字符串、日期类).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)6-2 常用类(Java集合框架).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)7-1 文件及IO操作.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)8-1 数据库程序设计.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)9-1 图形用户界面.ppt
- 《计算机应用基础》课程教学资源(讲稿)第1章计算机与计算.pdf
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第3章_第3章计算机系统概述.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第4章_第4章数制与信息编码.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第8章_jl版网页设计.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第10章_vb1/2.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第10章_vb2/2.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第8章 网页设计_Dreamweaver网页制作基础.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第6章 大数据基础.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第7章 计算机网络.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第8章 网站及网页设计入门.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第1章 计算机与计算.ppt
