[core java学习笔记][第四章对象与类]
4.3 用户自定义类
4.3.1 类数组的声明
需要两次new
Employee[]=staff=new Employedd[3];
staff[0]=new Employedd(参数列表);
staff[1]=new Employedd(参数列表);
staff[2]=new Employedd(参数列表);
4.3.2 封装的注意
不要直接一个retrun一个类,应该先clone
public Date getHireDay()
{
return hireDay; //这是错误的,只是浅复制而已;
}
public Date getHireDay()
{
return hireDay.clone();
}
4.3.3
类的实例能调用其他同一个类实例的私有属性
4.3.4 final实例域
private final String name
必须在构造函数中,设置他的值,并且不能更改
final大多应用于基本类型域和不可变域
对于类似Date这种变量 final修饰只是让这个变量不能指向其他区域,但是能够更改值
Date就是一个可变域
4.4 静态域与静态方法
4.4.1 静态域
静态域属于类,不属于实例
所有类的实例共用一个静态域,即使没有实例也能调用
4.4.2 静态常量
PI,和System.IO都是静态常量
4.4.3 静态方法
不依赖实例的方法,如Math.pow()
不能访问实例域,只能访问静态域
4.4.4 工厂方法
4.5 方法参数
类实例当参数时,参数会指向同一块内存。所以修改参数的时候,等于修改实例。
如果想不被修改,可以clone
4.6对象构造
4.6.1 初始化,静态方法
private static int nextId;
private int id=assignId()
private static int assignId()
{
int r=nextId;
nextId++;
return r;
}
4.6.2 调用另一个构造函数
Java中独有,可以让Employee(double)构造器将调用Employee(String,double)
public Employee(double s)
{
this("Employee #"+nextId,s);// Employedd(String,double)
nextId++;
}
4.7 包
4.7.2 静态导入
import语句不仅可以导入类,还增加了导入静态方法和静态域的功能
import static java.lang.System.*;
out.printf("Hello World");//System.out
exit(0); //System.exit
4.7.3 将类放入包中
package com.horstmann.corejava;
以后具体学习
[core java学习笔记][第四章对象与类]的更多相关文章
- Java 学习笔记 ------第四章 认识对象
本章学习目标: 区分基本类型与类类型 了解对象与参考的关系 从打包器认识对象 以对象观点看待数组 认识字符串的特性 一."=" 和 "==" 当=用于基本类型时 ...
- Java学习笔记(2)--- 对象和类入门,java包,this 和 super区别
1.对象和类(Object and class): 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 面对对象编程是java非常重要的一部分,作者本身之前学过c ...
- [core java学习笔记][第十一章异常断言日志调试]
第11章 异常,断言,日志,调试 处理错误 捕获异常 使用异常机制的技巧 使用断言 日志 测试技巧 GUI程序排错技巧 使用调试器 11.1 处理错误 11.1.1异常分类 都继承自Throwable ...
- Java 学习笔记 ------第五章 对象封装
本章学习目标: 了解封装的概念与实现 定义类.构造函数与方法 使用方法重载与不定长度自变量 了解static方法 一.Java封装概念 在面向对象程式设计方法中,封装(英语:Encapsulation ...
- [core java学习笔记][第六章接口与内部类]
接口域内部类 接口 描述类具有什么功能,不给出具体实现. 内部类 用于设计协作关系的类集合 代理 实现任意接口的对象. 6.1 接口 接口声明 public interface Comparable ...
- [core Java学习笔记][第一二三章基本语法]
基本语法 1 Java 简单的类型 1.1 一些常量 正无穷大 Double.POSITVE_INFINITY 负无穷大 Double.NEGATIVE_INFINITY 不存在 Double.NaN ...
- [core java学习笔记][第五章继承]
5.1 类.超类和子类 定义 class Manager extends Employee { 添加方法和域 } 权限 派生类不能使用基类的私有变量 派生类调用基类的方法 利用super这个关键词 s ...
- java学习笔记(3)——对象与类(日期)
变量.类型.赋值.运算符等等: https://blog.csdn.net/common77zwq/article/details/81988676 1.概念: 面向对象程序设计OOP.类class. ...
- Asp.Net Core WebApi学习笔记(四)-- Middleware
Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Mid ...
随机推荐
- oracle创建表空间-用户-角色-授权
1.创建数据表空间: SQL> create tablespace rusky_data datafile 'D:\rusky\rusky_data01,dbf' size 10M autoex ...
- 前端--关于HTML
在讲HTML之前不得不先简单粗略提一下浏览器以及浏览器与HTML的关系.众所周知,浏览器就是一个应用程序,这个应用程序可以完成网络调用.展示接收的html文档等.严格来讲HTML文档就是按照某个规则写 ...
- ASP.NET优化性能方法之一禁用调试模式(转)
若要设置 ASP.NET 应用程序的调试模式,必须编辑应用程序的 Web.config 配置文件. 通常,ASP.NET 应用程序的 Web.config 文件与应用程序位于相同的 URL 位置上. ...
- 《第一行代码》学习笔记13-UI(2)
1.EditText:程序和用户进行交互的重要控件,允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理. 2.Android控件使用的一般规律:给控件定义一个id->指定下控件的宽 ...
- linux删除ORACLE【weber出品必属精品】
关闭数据库 sqlplus / as sysdba shutdown abort 清除oracle软件 su - oracle cd $ORACLE_BASE rm -rf * rm -rf /etc ...
- nodejs 简单http 文件上传demo
// 这是一个简单的Node HTTP,能处理当前目录的文件 // 并能实现良种特殊的URL用于测试 // 用http://localhost:8000 或http://127.0.0.1:8000 ...
- libcurl下载文件简易demo
size_t test_save(void *ptr, size_t size, size_t nmemb, void *stream) { size_t sizes = size * nmemb; ...
- 【JAVA编码专题】UNICODE,GBK,UTF-8区别
简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与g ...
- MrHuo.OAuthLoginLibs社会化登录组件Github
今日写的博客 [原创]旧事重提:只配置参数实现OAuth2登录 引来很多园子里的朋友问候,所以今日花了一些时间整理了代码. 现已发布至github: MrHuo.OAuthLoginLibs:http ...
- 关于Django模板渲染一个很重要的用途
一般情况下我们在模板利用django的for标签循环生成html代码时,可以同时生成形如: "{% url 'dormitory:hygiene_detail' pk={{ id }} %} ...