《chapter03 Java语言的面向对象特征2_方法_构造方法_对象初始化》.ppt

《chapter03 Java语言的面向对象特征2_方法_构造方法_对象初始化》.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《chapter03 Java语言的面向对象特征2_方法_构造方法_对象初始化》.ppt

例子:初始化顺序 public class TestStaticBlock02 { private int a=1; private static int b=1; { a = 2; b=2; System.out.println(a:+a); System.out.println(b:+b); } static { b = 3; System.out.println(b:+b); } public TestStaticBlock02(){ a=4;b=4; System.out.println(a:+a); System.out.println(b:+b); } public static void main(String[] args) { TestStaticBlock02 test = new TestStaticBlock02(); } } b:3 a:2 b:2 a:4 b:4 3.2.6抽象类和抽象方法 方法型构(method signature,也叫方法头部) 修饰词 返回类型 方法名 参数列表 抽象方法:仅仅申明了方法型构,但未定义实现方法体 抽象类 :包含抽象方法的类一定是抽象类 注意 只有抽象类可以包含抽象方法 抽象类不能被实例化,但是可以定义构造方法 子类继承抽象类时,如果不实现所有抽象方法仍为抽象类 例子 abstract class Point { int x = 1, y = 1; void move(int dx, int dy) { x += dx; y += dy; alert(); } abstract void alert(); } abstract class ColoredPoint extends Point { int color; } class SimplePoint extends Point { void alert() { } } 3.2.7 最终类、最终变量和最终方法 final:禁止 最终类 :禁止继承 最终参数:禁止修改 最终成员:禁止覆盖 例子: final class ChessAlgorithm { . . . } class BetterChessAlgorithm extends ChessAlgorithm { . . . } Cant subclass final classes: class ChessAlgorithm class BetterChessAlgorithm extends ChessAlgorithm { ^ 1 error 先简单介绍一下,后面还要讲 包(Package)的概念 通过包来管理类名空间 防止同名类名的冲突 层次化的结构 对个体(个人和机构) 将类文件放在不同的目录下防止重名 com\abc\***.java com\xyz\***.java package com.abc; package com.xyz; ABC 公司 Engine.java XYZ 公司 Engine.java 需调用Engine.java? ABC 公司 com\abc\Engine.java XYZ 公司 com\xyz\Engine.java 3.3 对象 3.3.1对象的定义 类名 对象名列表; 类名=new 类名([参数列表]); 创建对象 声明对象 分配内存单元 对象初始化 一般是一条语句 例子 MyClass obj1; //申明对象 obj1=new MyClass(); //分配内存+初始化 MyClass obj2=new MyClass(3,14,8.2); //3合1 String str=hello world; //3合1 等价String str=new String(hello world); 3.3.2 对象的赋值 (1)对象的初始化 初始化顺序(详见前面) 两种构造方法 用户自定义构造方法(允许重载) 默认构造方法 (2)对象成员的访问 对象名.成员名 注意访问权限 给对象的成员变量赋值 class Student{ int math; int english; } Student li=new student; li.math=92; (3)对象的赋值 关键:什么是Java变量的值 对象作为引用类型的变量,直接赋值给另一个对象 引用类型的变量赋值,本质是堆地址赋值,于是两个引用变量指向同一个地址值(P101

文档评论(0)

wgvi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档