类与对象
来源:互联网 发布:网络道德的原则有 编辑:程序博客网 时间:2024/06/08 07:07
封装:是一种信息隐藏技术
利用抽象数据类型将数据和基于数据的操作封装在一起;
用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的;
封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节。
继承:基于已有的类产生新类的机制
是指新的类可以获得已有类(称超类或父类)的属性和行为,称新类为已有类的子类(也称为派生类)
在继承过程中子类继承了超类的特性,包括方法和实例变量;
- 单继承:一个子类只有单一的直接超类。
- 多继承:一个子类可以有一个以上的直接超类。
数据成员声明
- public、protected、private为访问控制符。
- static指明这是一个静态成员变量(类变量)。
- fianl指明变量的值不能被修改。
- transient指明变量是不需要序列化的。
- volatile指明变量是一个共享变量。
实例变量
- 没有static修饰的变量(数据成员)成为实例变量
- 存储所有实例都需要的属性,不同的实例的属性值可能不相同
类变量(静态变量)
- 用static修饰
- 在整个类中只有一个值
- 类初始化的同时被赋值
- 适用的情况
- 类中所有对象都相同的属性。
- 经常需要共享的数据
- 系统中用到的一些常量值
方法声明
- public、protected、private控制访问权限。
- static 指明这是一个类方法(静态方法)
- final指明这是一个终结方法
- abstract指明这是一个抽象方法
- native用来集成java代码和其它语言的代码
- syschronized用来控制多个并发线程对共享数据的访问
实例方法
- 表示特定对象的行为
- 声明时前面不加static修饰符
- 参数传递:
- 值传递:参数类型为基本数据类型时
- 引用传递:参数类型为对象类型或者数组时
类方法:
- 也称为静态方法,声明时前面需要加static修饰。
- 不能被声明为抽象的
- 可以类名直接调用,也可以类名实例调用。
可变长参数
- 可变成参数使用省略号表示,其实质是数组。
例如,“String …s” 表示“String[]s” - 对于具有可变长参数的方法,传递可变参数的实际参数可以是以0个到多个对象
包与目录
- 包名就是文件夹名,即目录名;
- 目录名并不一定是包名。
- Java自动引入Java.lang包
类成员的访问权限
- public公有:可以被其它任何方法访问,前提是对类成员所属的类有访问权限。
- protected 只能被同一类及其子类的方法访问
- private 只可被同一类的方法访问
- default 默认 仅允许同一个包内的访问,又被称为包访问权限
this 关键字
- 如果方法内的局部变量(包括形参)名与实例变量名相同,则方法体内部访问实
例变量时需要this关键字
对象的自动回收
- 无用对象
- 离开iale作用域的对象
- 无引用指向对象
- Java运行时系统通过垃圾收集器周期性的释放无用对象所使用的内存
- Java运行时系统会在对象进行自动垃圾回收前,自动调用对象的finalize()方法
垃圾回收器 - 自动扫描对象的动态内存区,对不再使用的对象做上标记以进行垃圾回收
作为一个后台线程运行,通常在系统空闲时异步地执行
finalize()方法
在类java.lang.Object中声明,因此Java中的每一个类都有该方法:
protectetd voud finalize() throw throwable
用于释放资源类可以覆盖(重写)finalize()方法。
finalize()方法有可能在任何时候以任何次序执行
覆盖toSting()方法
- toString()方法 将对象内容转化为字符串对象
下面的两行代码等价
System.out.prientln(anAccount);System.out.println(anAccount.toString());
如果需要特殊的转化功能,则需要自己覆盖toString()方法:
- 必须被声明为public;
- 返回类型为String;
- 方法的名称必须为toString,且没有参数
- 在方法体中不要使用输出方法System.out.prientln();
DecimalFormat类
DecimalFormat类在Java.text包中。
在toString()方法中使用DecimalFormat类的实例方法format对数据进行格式化。
0 0
- OOP-----类与对象对象
- OOP-----类与对象对象
- 对象与元类对象
- 对象与类类型
- C02(类与对象)
- 类与对象(PHP5)
- 类与对象
- 区分类与对象
- 类与对象
- 类与对象
- 类与对象
- C#类与对象
- 对象与类
- 类与对象总结
- js类与对象
- C++ 类与对象
- 类与对象
- 类与对象概述
- 告诉学生:这才是中、高考阅卷真正的“潜规则”!
- Eclipse建立Maven maven-archtype-webapp项目
- Angular4学习笔记(三):router
- HDU2214 函数图像
- Hive2.1.1、Hadoop2.7.3 部署
- 类与对象
- 双核处理问题(2017网易春招)
- 5.循环
- 这是一篇markdown教程
- POJ 2955
- Firefox的“httpRequest”插件简单使用
- 模拟下拉框效果
- C++编译器对属性和方法的处理机制
- ajax跨域请求