java程序设计03-编程基础.ppt
《java程序设计03-编程基础.ppt》由会员分享,可在线阅读,更多相关《java程序设计03-编程基础.ppt(64页珍藏版)》请在三一办公上搜索。
1、03 编程基础,类对象包继承访问权限接口jar文档,本章基本要求,深刻理解OOP中类和对象的概念会定义类、并会由类创建对象深刻理解类的成员变量和成员方法理解包的概念、会使用包语句深刻理解继承的概念、掌握Java的继承方式在掌握包和继承等概念的基础上,掌握访问权限问题结合类掌握接口的概念、并会定义和使用接口会使用jar工具将相关文件打成jar文档并发布,类,济南大学 信息科学与工程学院 2006,类的概念类是组成Java程序的基本单元类是用来创建对象的模板(对象是类的实例)OOP的三个基本特性:封装性:类封装了一类对象的状态(成员变量)和功能(成员方法)继承性:可在已有类的基础上进行扩展,产生子
2、类,实现代码重用和功能的扩充多态性:方法的重载(静态)和覆盖(动态)Java提供了大量的类供用户使用(JFC)面向对象程序设计的主要工作:了解已有类的基本情况扩展已有类建立自己的新类并创建有关对象实现它们之间的交互完成系统目标,济南大学 信息科学与工程学院 2006,类的声明格式 访问修饰符 class ClassName 成员变量声明;成员方法声明;说明访问修饰符可以是public或省略类名中每个词的首字母大写,做到见名知义成员变量用来刻画类的属性(状态);成员方法用来刻画类的功能;通过成员方法可使实现对成员变量的操作,济南大学 信息科学与工程学院 2006,举例(Example0301_C
3、ircle.java)public class Example0301_Circle double r;double s;void setR(double r1)r=r1;double getR()return r;double getS()return 3.14*r*r;,r=5.5;,/此处的语句是非法的,Why?,济南大学 信息科学与工程学院 2006,变量变量的种类实例成员变量(简称实例变量)类成员变量(简称类变量)局部变量 注意:在Java类的定义中没有全局变量的概念变量的声明实例变量:访问修饰符 类型名 变量名;/private double r;/int s;类变量:访问修饰符
4、static 类型名 变量名;/public static int a;局部变量:类型名 变量名;/double x;,济南大学 信息科学与工程学院 2006,说明一个类中不允许出现两个同名的成员变量类的成员变量可以和方法中的局部变量同名一个方法中不允许出现两个同名的局部变量public void f()int x=1;for(int i=0;i 10;i+)int x=0;/errorSystem.out.println(“i=“+i);/error,济南大学 信息科学与工程学院 2006,变量的作用域实例成员变量和类成员变量在整个类中有效局部变量只在定义它的复合语句中有效当局部变量与成员变
5、量重名时,在局部变量的作用域内成员变量被隐藏,例如:class Tomint x=98,y;void f1()int x=3;y=x;/此处y=3void f2()y=x;/此处y=98/尽量避免局部变量与成员变量重名,济南大学 信息科学与工程学院 2006,成员方法(简称方法)方法的种类实例方法类方法/实例方法和类方法的区别在于声明时是否使用了关键字static,带有static的是类方法方法的声明 访问修饰符 static 返回值类型 方法名(形参表)局部变量说明部分;/不一定有语句部分;/一般要有,以实现方法的功能,济南大学 信息科学与工程学院 2006,说明方法一般都使用public进
6、行访问修饰没有返回值的方法要用void类型修饰一个方法可以没有形参表,但要保留()例如:public double getArea()double area;area=;return area;,济南大学 信息科学与工程学院 2006,构造方法构造方法是与类名同名且没有返回值的一类特殊的实例方法构造方法是在创建(new)对象时调用的构造方法是可以重载(可以有多个)的确定一个类中所拥有的构造方法:若存在显式定义的构造方法有几个就是几个;否则只有一个默认的无参的构造方法,济南大学 信息科学与工程学院 2006,构造方法示例public class Circle double r;public Ci
7、rcle()r=1.0;public Circle(double rr)r=rr;/其他方法定义思考问题:该类中共有几个构造方法?若去掉构造方法后共有几个构造方法?若去掉构造方法后共有几个构造方法?若去掉构造方法和后共有几个构造方法?/默认的构造方法实现将成员变量初始化为默认值,济南大学 信息科学与工程学院 2006,方法的重载方法重载是指一个类中可以有多个方法具有相同的名字,但它们的参数必须不同(个数或类型不同)如果两个方法的返回值类型不同,但参数相同,这种情况下的重载是不允许的重载可以实现同一个方法名的多种不同功能,体现了静态多态性例如:public void f();public int
8、 f(int a);public double f(int a);/errorpublic double f(double a);,济南大学 信息科学与工程学院 2006,内部类定义在某个类里面的类,称为嵌入类或内部类在下例中,B就是一个嵌入类 public class A class B 嵌入类可访问被嵌入类的变量和方法嵌入类的字节码文件名为:A$B.class嵌入类主要用于创建适配器类(一般匿名)在一个方法内部定义的类,称为局部内部类其他类要想访问内部类时,可如下操作:A a=new A();A.B b=a.new B();,对象,济南大学 信息科学与工程学院 2006,对象的概念对象是类
9、的实例,它具有状态、行为和身份类相当于定义的一种数据类型(静态的)而对象就是该类型的一个变量(动态的),济南大学 信息科学与工程学院 2006,对象的声明格式:访问修饰符 类名 对象名;例如:Circle circle1,circle2;String s;,济南大学 信息科学与工程学院 2006,对象的创建格式:对象名=new 类的构造方法(实参表);例如:circle1=new Circle();circle2=new Circle(5.5);s=new String(“Hello!”);,济南大学 信息科学与工程学院 2006,对象的内存模型一个声明后的对象变量用来存放对象的引用在未获得分
10、配的内存前,对象变量的值为null为对象分配的内存空间,称为该对象的实体在分配内存空间(new)后,对象变量中存放这块内存空间(实体)的引用(内存空间代表)一个对象变量的值会由于赋值而发生改变,济南大学 信息科学与工程学院 2006,变量的内存模型类变量的内存是在类的字节码文件被加载到内存时就分配的,且只分配一次,各对象共享,直到程序退出时释放(所有对象只有一个内存映像)实例变量的内存在每次创建对象时分配,不同对象的实例变量所占内存空间不同,当该对象不存在时释放(每个对象都有一个内存映像)局部变量的内存在定义该局部变量的复合语句被调用时分配,语句块执行完毕后释放,济南大学 信息科学与工程学院
11、2006,方法的内存模型类方法的内存是在类的字节码文件被加载到内存时就分配的,且只分配一次,各对象共享,直到程序退出时释放(只有一个内存映像)实例方法的内存在第一次创建对象时分配,且只分配一次,各对象共享,当该类的所有对象都不存在时释放(只有一个内存映像),济南大学 信息科学与工程学院 2006,实例考查 class A int x;/实例变量 static int y;/类变量 public float f(int x1,int x2)/实例方法 public static float g(int a)/类方法,济南大学 信息科学与工程学院 2006,A a1,a2;,a1=new A();
12、,a2=a1;,a2=new A();,加载类A时,类变量y和类方法g即被分配内存,济南大学 信息科学与工程学院 2006,对象的使用访问变量格式:对象名.变量名对于类变量常用:类名.变量名访问方法格式:对象名.方法名(实参表)对于类方法常用:类名.方法名(实参表),济南大学 信息科学与工程学院 2006,说明类变量和类方法在不创建对象时就可以用类名进行访问类方法只能操作类变量,只能调用类方法实例方法对实例变量和类变量都能操作,对实例方法和类方法都能调用参数的值传递基本数据类型和引用数据类型都是值传递值传递的本质在于系统为实参和形参分配不同的内存单元复合的概念对于一个类的成员变量来说,既可以是
13、基本数据类型,也可以是引用数据类型如果是类类型的成员变量,即出现了复合例子:Example0302_Taper.java,包,济南大学 信息科学与工程学院 2006,包的概念包是有效管理类的一种机制,它可将相关的类组织在一起(类的集合)包的使用能够减少命名冲突问题,能够提供更多方面的保护包是分层次的,即采用树形结构定义包是不嵌套的,没有任何一个包包含另一个包JDK中提供了大量的包供用户使用,济南大学 信息科学与工程学院 2006,包的声明格式:package 包名;说明package语句必须是源文件的第一条语句若源文件中无package语句,则是无名包包名可以仅是一个合法的标识符,也可以是以“
14、.”分割的若干个标识符的组合,如:package myself;当声明了一个包时,要求目录结构中存在与包名对应的目录,例如若有:package tom.jiafei;则应存在:.tomjiafei例子:Example0303_Package.java,济南大学 信息科学与工程学院 2006,导入包中的类导入方法import;import java.awt.*;注意:只有包中的公共类被导入说明系统自动引入java.lang包中的类当导入自定义包中的类时,可能需要更新classpath的值,以便系统能找到要导入的类若导入的类中有重名时,会出现错误提示若不导入包中的类,就要使用类的全名,这样很不方便
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 03 编程 基础

链接地址:https://www.31ppt.com/p-6509957.html