Java复习(二)类与对象的基本概念
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));
}
Java复习(二)类与对象的基本概念的更多相关文章
- Java学习笔记十三:Java中的类和对象
Java中的类和对象 一:什么是对象: 总的来说就是"万物皆对象",客观存在的事物皆为对象.是计算机所关注的具体信息. 对象(object)是一件事.一个物体.一个名词,或可以获得 ...
- Java程序设计基础笔记 • 【第7章 Java中的类和对象】
全部章节 >>>> 本章目录 7.1 理解类和对象 7.1.1 对象 7.1.2 抽象与类 7.1.3 类与对象的关系: 7.2 Java中的类和对象 7.2.1 类的定义 ...
- Java 反射 分析类和对象
Java 反射 分析类和对象 @author ixenos 摘要:优化程序启动策略.在运行时使用反射分析类的结构和对象 优化程序启动策略 在启动时,包含main方法的类被加载.它会加载所有它需要的类. ...
- 【JAVA零基础入门系列】Day11 Java中的类和对象
今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...
- Java自学-面向对象 类和对象
Java中的类和对象 引入面向对象的基本概念 假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做? 步骤 1 : 设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必 ...
- python3 类、对象的基础概念
类:具有相同特性和方法的抽象概念称为类 对象:从类中具体描述的一个事物称为对象 类和对象的关系:类是对象的抽象概念,对象是类的具体实例 class test001: #创建类 def __init__ ...
- 3.JAVA基础复习——JAVA中的类与对象
什么是对象: 就是现实中真实的实体,对象与实体是一一对应的,现实中每一个实体都是一个对象在. JAVA中的对象: Java中通过new关键字来创建对象. 类: 用JAVA语言对现实生活中的事物进行描述 ...
- Java基础 之二 类和对象
1.基础概念 1) 概念 简单来说,类是具有相同特征事物的抽象,比如有轮子的都可以抽象为车:对象则可以看做类的具体实例,比如创建一个法拉利的车,就是车这个类的实例. 抽象.封装.继承.多态是类的四个特 ...
- Java面向对象(一) 类和对象
一.软件开发进化史 摘自<从零开始学架构> 机器语言(1940年) 最早的软件开发使用的是“机器语言”,直接使用二进制码0和1来表示机器可以识别的指令和数据. 汇编语言(20世纪40年代) ...
随机推荐
- 一小时搞定Eureka
一.什么是Eureka Eureka是Netflix公司开源的产品,它是一种基于REST( Representational State Transfer )的服务,主要用于AWS云. Eureka提 ...
- Android群英传神兵利器读书笔记——第二章:版本控制神器——Git
本人一直是徐医生的真爱粉,由于参加比赛耽误了8天,导致更新得有点慢,大家见谅 2.1 Git的前世今生 Git是什么 Git安装与配置 2.2 创建Git仓库 Git init Git clone 2 ...
- Python调用c++可执行程序
1.c++编译程序 #include <iostream> using namespace std; int test() { , b = ; return a+b; } int main ...
- nginx 4层代理配置
1.nginx 从1.9.0版本开始支持四层代理,但做四层代理时 编译需要添加 --with-stream模块 # ./configure --prefix=/usr/local/nginx--us ...
- pandas中DataFrame重置设置索引
在pandas中,经常对数据进行处理 而导致数据索引顺序混乱,从而影响数据读取.插入等. 小笔总结了以下几种重置索引的方法: import pandas as pd import numpy as n ...
- Thread--线程工作万花筒
线程工作内存图. 线程状态.
- 用Emoji和照片挑战大众点评,YOBO玩转新点评方式能引领潮流吗?
对于一家企业来说,要想获得长久生命力的必备元素是什么?是技术底蕴和海量资金?但诺基亚.摩托罗拉和黑莓等巨头的崩塌,已经证明再稳固的基础都有可能只是沙子做的.是让人工智能.云计算.大数据等前沿技术赋能于 ...
- CSS 之pseudo-classes 与pseudo-element的异同
从W3School找到相关资料如下: 伪类: 伪类存在的意义是为了通过选择器找到那些不存在与DOM树中的信息以及不能被常规CSS选择器获取到的信息. 伪类由一个冒号:开头,冒号后面是伪类的名称和包含在 ...
- python 运算符 取余 取商 in not in
#运算符sum = 9//2 #取商print(sum) sum = 9%2 #取余print(sum) #inname1 = '小林'name2 = '林倩'if '林' in name1: pri ...
- 题解 P4942 【小凯的数字】
题目 为什么看到很多题解区的 dalao 都用逆元?是我太菜了吧 [分析] 首先,根据弃九验算法的原理,显然可以得到:一个 \(n\) 位数 \(a_1a_2a_3\dots a_n\equiv a_ ...