学堂在线Java学习笔记(1)

数组:

(1)
定义数组:int[] name;
name = new int[length];
name只是一个引用。
(2)
复制数组:

System.arraycopy(copyFrom, srcPos, copyTo, destPos, length);

(3)
二维数组:数组元素为一维数组
二维数组长度:行数

算法的流程控制

增强for循环

for(Tyename: 数组或集合类型对象){
//循环体;}

类与对象

面向对象方法的基本特性

抽象

忽略问题中与对象无关的内容
只关注与对象相关的部分

封装

利用抽象数据类型将数据和基于数据的操作封装在一起;用户只能看到对象的封装界面信息,对象的内部细节隐蔽

继承

基于已有的类产生新类
新类可以获得已有类的属性和行为

多态

类与对象基础知识

类是对一类对象的描述,对象是类的具体实例
钟表类:

public class Clock{
  int hour;
  int minute;
  int second;
  public void setTime(int newH, int newM, int newS){
    hour = newH;
    minute = newM;
    second = newS;
}
  public void showTime(){
    System.out.println(hour+":"+minute+":"+second);
  }
}

对象引用声明:类名 引用变量名
对象的创建:new<类名>()//分配内存空间

数据成员

表示对象的状态
数据类型 变量名1[=变量初值],……;
实例变量:
没有static修饰的变量
访问:<实例名>.<实例变量名>
类变量
用static修饰,整个类中只有一个值,类初始化时被赋值
适用情况:类中所有对象都相同的属性,经常需要共享的数据,系统中用到的一些常量值

方法成员

返回类型 方法名([参数列表])[throws exceptionList]
{
方法体
}
实例方法调用格式
<对象名>.<方法名>([参数列表])
参数传递
值传递:参数类型为基本数据类型时
引用传递:参数类型为对象类型或者数组时
类方法:
静态方法,声明时前面需加static修饰
不能被声明为抽象的
可以类名直接调用,也可用类实例调用
可变长参数
用省略号表示...,看引用的时候给多少个参数

包是一组类的集合,将相关的源代码文件组织在一起,提供一级封装与存储权限。
命名建议:
将机构中的Internet域名反序,作为包名的前导;
若包名中又任何不可用于标识符的字符,用下划线代替;
若包名中的任何部分与关键字冲突,后缀下划线;
若包名中的任何部分以数字或者其他不能用作标识符起始的字符开头,前缀下划线;
编译单元:
一个Java源代码文件称为一个编译单元:
(1)所属包的声明
(2)Import包的声明,用于导入外部的类;
(3)类和接口的声明。
一个编译单元中只能有一个public类,该类名与文件名相同,编译单元中的其他类往往是public类的辅助类,经过编译,每个类都会产生一个class文件
引入包
为了使用其他包中所提供的类,需要用import引入
静态引入
单一引入是指引入某一指定静态成员;
全体引入是指引入类中所有静态成员;

类的访问权限控制

private, 无修饰,protected,public
get方法
取得属性变量的值
set方法
修改属性变量的值
this关键字
如果方法内的局部变量名与实例变量名相同,则方法体内访问实例变量时需要this关键字

对象初始化

构造方法
方法名与类名相同,不定义返回类型,通常被声明为公有,可以有任意多个参数,完成初始化,在生成对象时会自动调用。
默认构造方法
没有参数
用0或null初始化数据成员
自定义构造方法,可重载
重载:可以使用this关键字调用另外一个构造方法,使代码更为简洁
final关键字
类中定义时给出初始化,或者在每个构造方法结束之前完成初始化
一旦构造方法结束,则final变量不能再被改变
final类变量必须在声明的同时初始化

内存回收

无用对象:离开了作用域的对象,无引用指向对象
Java运行时系统通过垃圾收集器周期性地释放无用对象所使用的内存。
Java运行时系统会在对对象进行自动垃圾回收前,自动调用对象的finalize()方法
finalize()方法
在类java.lang.Object中声明,因此java中的每一个类都有该方法:

protected void finalize() throws throwable

用于释放资源,类可以覆盖finalize()方法
finalize()方法有可能在任何实际以任何次序执行

枚举类型

enum name{}
枚举类都隐含继承自java.lang.Enum
静态values()方法用于获取枚举类型的枚举值的数组
toString方法返回枚举值的字符串描述
valueOf方法将以字符串形式标识的枚举值转化为枚举类型的对象
Ordinal方法获得对象在枚举类型中的位置索引

应用实例

银行账户类(在IDEA中实现)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,860评论 2 9
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,263评论 1 44
  • “快说,谁的更美味?” 母亲带着还未上学的弟弟看望梅州工作的父亲,留下我和老大守家。 其实我们也很想去的,大山...
    考拉呀阅读 412评论 0 0
  • 我以为世界上所有的好人都会有好报,但现实告诉我并不是所有的好人都会有好报。
    仙半夏阅读 130评论 0 0
  • 语言很容易伤害一个人,却很难抚平一个人。我们用一年时间学会说话,却应该用一生学会闭嘴。 - 1 - 有我微信的人都...
    舞肆飞扬阅读 473评论 4 10