第四章、面向对象(上)

面向对象的世界:程序 = 对象 + 消息

三大特征:1.封装:类与对象

                  2.继承:基类与派生类

                  3.多态:抽象类与接口

优点:可重用(通用代码)、可扩展(插入新的功能,不需要改变原有的代码)、可维护(代码结构优              良,接口清晰) 

类中定义的属性(域)与方法(操作):

                类和对象都有属性和操作,属性是事物静态特征的抽象,操作是事物动态特征的抽象。

类中的域变量和方法存在以下关系    : 1.类中定义的域变量可以被类中所有的方法所访问。2.方法中的形式参数和定义的局部变量的作用域仅限于方法,局部变量在使用前必须进行赋值初始化。如果局部变量和类中的属性变量重名,则在方法中 对同名变量改变的是局部变量 。   3.类中定义的方法可以进行递归调用


对象(object)与对象引用: 

            创建对象:    new FighterPlane();     (分配在堆上) 

            声明一个对象引用:    FighterPlane  fp ;  (分配在栈上)    

初始化对象引用:FighterPlane fp  = new FighterPlane()      实质是将新创建的FighterPlane对象的地址赋给对象引用fp,从此fp与    该对象关联,通过fp即可操纵该对象

对象内存空间分布:

对象作为参数的特点: 

             普通数据类型作为参数传递是值传递,而对象是引用传递。 当对象作为参数传递时,传递的               是对象的地址。



类成员属性和方法的其它修饰符 :


static:1、用static修饰符修饰的数据成员是不属于任何一个类的具体对象,而是属于类的静态数据成员。2、它被保存在类的内存区的公共存储单元中,而不是保存在某个对象的内存区中。因此,一个类的任何对象访问它时,存取到的都是相同的数值,3、 访问方式为通过类名加点操作符来访问,也可通过对象引用来访问

静态数据成员仅在类加载时进行初始化,且只执行一次初始化

输出结果:2


Static修饰的方法有如下特点:

1、static方法是类方法,但可以被所有对象所访问,引用这个方法时,可以使用对象名做前缀,也可以使用类名做前缀。

2、static方法内部的代码,只能访问类中的static属性或方法,不能直接访问类中的非static属性或方法(因为那是对象方法),但非static方法(对象方法)可以访问static数据成员。

3、main方法是特殊的静态方法,是Application程序入口点,必须写成public static void main(String args[])的形式。

静态代码块: 一个类中可以使用不包含在任何方法体中的静态代码块,当类被装载时,静态代码块被执行,且只被执行一次,静态代码块经常用来对类中定义的属性进行初始化。

程序输出结果为value=3


final:

1、final修饰属性,则属性为常量;

2、如果修饰方法,则方法称为最终方法,在子类当中不能被覆盖(见多态一节),可防止任何继承类修改此方法,保证了程序的安全性和正确性。

                public Constant{

                         static final int OK=0;

                         static final int CANCEL=1; 

                 .. .. ..}

3、可以在Constant类中定义一些静态常量,在别的类当中这样来使用:Constant.OK。也可定义对象的属性常量

包(Package):自行学习如何使用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,660评论 0赞 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 2,002评论 0赞 10
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,300评论 0赞 2
  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 604评论 0赞 2
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,870评论 0赞 11

友情链接更多精彩内容