2.1面向对象的程序设计方法概述

对象

程序中:

一切皆是对象

都具有标识,属性和行为

通过一个或多个变量来保存其状态

通过方法实现他的行为

将属性及行为相同或相似的对象归为一类

类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为

在面向对象的程序设计中,每一个对象都属于某个特定的类

2.1.1抽象

过程抽象

数据抽象

2.1.2封装

2.1.3继承

Java仅支持单继承

2.1.4多态

2.2类与对象

2.2.1类的声明

声明形式
[public] [abstract|final]class 类名称
[extends 父类名称]
[implements 接口名称列表]
{变量成员声明及初始化;方法声明及方法体;
}

关键字

修饰符

可以有多个,用来限定类的使用方式

public公有类

abstract抽象类

final终结类

2.2.2对象的声明与引用

变量和对象

变量除了存储基本数据类型的数据,还能存储对象的引用,用来存储对象引用的变量成为引用变量。

对象的声明

类名 变量名

声明一个引用变量时并没有对象生成

对象的创建

new <类名>()
eg: aclock = new Clock()

2.2.3数据成员

声明格式

[public|protected|private] [static][final][transient][volatile]
变量数据类型 变量名1[=变量初值],变量名2[=变量初值],...;

格式说明

public、protected、private为访问控制符

static指明这是一个静态成员变量

final指明变量的值不能被修改

transient指明变量是临时状态(不必持久化(serialize))

volatile指明变量是一个共享变量

实例变量

没有static修饰的变量称为实例变量

储存在堆中

类变量

需要加static修饰符来声明

final修饰符

实例变量、类变量、方法参数

2.2.4方法成员

可以没有。

分为实例方法和类方法

声明格式
[public|protected|private] [static][final][abstract][native][synchronized]
返回类型 方法名([参数列表])[throws exceptionList]
{方法体
}

public、protected、private为存取控制符

static指明方法是一个类方法

final指明方法是一个终结方法

abstract指明方法是一个抽象方法

参数传递

值传递:参数类型为基本数据类型时

引用传递:参数类型为引用变量时(比如对象类型或数组时)

实例方法

类方法

声明加static修饰符,不能被声明为抽象,不能访问实例变量。

2.2.5类的组织

import语句的格式

import package1[.package2..].(classname|*);

2.2.6类的访问控制

关键字this的使用

如果形式参数与实例变量名相同,则需要在实例变量名之前加this关键字,否则系统会将实例变量当成形式参数。

在上面的set方法中,如果形式参数为radius,则需要在成员变量radius之前加上关键字this。

代码如下:
public void setRadius(int radius)
{
this.radius = radius
}

2.3对象的初始化和回收

2.3.1构造方法

一种和类同名的特殊方法

用来初始化对象

Java中的每个类都有构造方法,用来初始化该类的一个新的对象

没有定义构造方法的类,系统自动提供默认的构造方法

没有返回类型,修饰符void也不能有

方法重载

一个类中有两个及以上同名的方法,但参数表不同,这种情况就被称为方法重载。

2.3.2内存回收技术

垃圾收集器,finalize()方法

2.4枚举类型

[public] enum 枚举类性名称[implements 接口名称列表]
{枚举值;变量成员声明及初始化;方法声明及方法体;
}

枚举类型没有public的构造函数

枚举值是public、static、final的。

2.4.1枚举类型的默认方法

#取得枚举值的数组public static T[] values()

#取得枚举值对应的字符串public String toString()

#取得对象在枚举类型中的索引public final int ordinal()

#字符串转换为枚举值public static T valueOf(String)

2.5.2声明toString()方法

2.5.4使用DecimalFormat类

public String toString(){return ("Account#"+accountNumber+"with balance"+new java.text.DecimalFormat("$0.00").format(balance));}

转载于:https://www.cnblogs.com/kmxojer/p/10863322.html

Java复习(二)类与对象的基本概念相关推荐

  1. 【Java程序设计】类与对象的基本概念(下)

    类与对象的基本概念(下) 文章目录 类与对象的基本概念(下) 一.类的访问权限控制 1.访问控制修饰符 (1)默认访问修饰符-不使用任何关键字 (2)私有访问修饰符-private (3)受保护的访问 ...

  2. 【Java程序设计】类与对象的基本概念(上)

    类与对象的基本概念(上) 文章目录 类与对象的基本概念(上) 一.面向对象的基本概念 (1)面向对象程序设计&结构化程序设计 1.结构化程序设计 2.面向对象程序设计 (2)面向对象方法的特性 ...

  3. java实验二 类和对象

    类和对象 [实验目的] 1. 掌握如何定义类. 2. 掌握如何定义类的成员变量.成员方法. 3. 掌握如何创建对象.使用对象. 4. 掌握关键字static的用法. 5. 掌握类成员的访问权限. [实 ...

  4. 12月29日--Java中有关类与对象的学习记录

    1.12月29日第一课记录 Java中有关类与对象的学习记录 一.基本概念部分 1.类:具有相同.相似的属性.特征.行为方式以及功能的一类事物的总称 (举例:一类用户,如淘宝用户) 类是对象的模板 是 ...

  5. JAVA基础––从类和对象开始

    JAVA基础--从类和对象开始 一.概念 1.面向对象中类和对象的概念 对象:对象是具有状态和行为的实体,例如某个具体的学生,或者是王者荣耀里的英雄,可以是物理实体,也可以是逻辑实体. 类:类是一组具 ...

  6. JAVA中的类和对象之this的详解

    系列文章目录 第一章 JAVA中的类和对象之this的详解 目录 前言 一.为什么要有this引用 二.this的三种用法 1.this.成员变量 2.this.成员方法 3.this()调用其它的构 ...

  7. Java中的类和对象

    文章目录 一.类和对象的初步认识 1.1 类和对象的基本概念 1.2 类和类的实例化 二.面向对象的封装性 2.1 封装的基本概念及用法 2.2 getter和setter方法 三.构造方法 3.1 ...

  8. java基础(类与对象、集合)

    java基础(类与对象.集合) 类与对象 类与对象中的栈和堆 构造方法 this关键字 面向对象三大特性 封装性(private) 继承性(extends) 方法重写(@override) 多态性 向 ...

  9. JAVA基础七 类和对象

    文章目录 JAVA基础七 类和对象 01 引用 02 继承 03 方法重载 04 构造方法 05 this 06 传参 07 包 08 访问修饰符 09 类属性 10 类方法 11 属性初始化 12 ...

最新文章

  1. 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?(附代码)
  2. JS重复引用也会导致错误
  3. 计算机三级网络技术查漏补缺
  4. JZOJ 1980. 【2011集训队出题】Construct
  5. 综述:编程语言的发展趋势及未来方向
  6. swift 打开第三方应用_iOS卡通人物帧动画入门9(大结局):番外篇-扩展第三方类
  7. Linux vi vim 常用快捷键操作(一)
  8. It企业的上市与退市
  9. 中国喷墨卡片打印机行业市场供需与战略研究报告
  10. 导入文件按钮_如何将PPT软件功能配置导入另一台电脑
  11. Kent Beck 的《测试驱动开发》(TDD) Money示例Ruby版
  12. hdu1166 敌兵布阵(模板题 单点修改 + 区间查询)
  13. win7系统wifi没有网络连接到服务器,Win7旗舰版没有无线网络连接怎么办?
  14. ipa java_Java 解析 IPA 文件,读取 Info.plist 信息
  15. 计算机网络:CSMA/CD 与 CSMA/CA
  16. 互联网学习记录:三件套_Javascript
  17. 深度学习与计算机视觉-6章 Python-OpenCV
  18. word+正则表达式==快速批量添加图注题注(保姆级图文)
  19. 学习廖雪峰Git入门教程--总结
  20. 决策树算法实现:泰坦尼克号乘客生存预测 (python实现)

热门文章

  1. 附加数据库失败,版本为655,此服务器支持611及更低版本。不支持降级路径。...
  2. Linux基础知识--进程管理与计划任务
  3. typescript tslint rules config
  4. 央视再次点赞阿里云ET城市大脑,树立用人工智能治理城市的标杆
  5. 分享《组播技术白皮书》
  6. 编译安装php之安装libiconv-1.14.tar.gz出错解决方法
  7. 使用ReportStudio打开cube模型创建报表出现两个最细粒度名称
  8. JavaScript--在页面的下拉框控件中遍历出日期--先天下能力工场
  9. java集合类详细概述
  10. 使用TMG2010企业版组建大型***网络之3-配置NLB