java入门基础杂记(一)
1.杂记
1.局部变量在使用时必须进行赋值,否则会出现编译错误
2.this关键字被隐式地用于引用对象的成员变量和方法
3.在静态方法中,不可以使用this关键字、不可以调用非静态方法
4.不能将方法体内的局部变量声明为static类型
5.super():
(1)子类继承父类,子类的构造方法必须调用“super(参数列表)”即父类的构造方法,而且必须放在构造方法的第一行。
(2)当子类局部变量覆盖父类成员变量时,用“super.成员变量名”来引用父类成员变量。
(3)当子类的成员方法覆盖了父类的成员方法时用“super.方法名(参数列表)”的方式访问父类的方法。
6.重写出现在继承中,就是在子类中将父类的成员方法名称保留,重写方法的是实现内容,更改方法的存储权限,修改成员的方法返回值类型。
7.重构是一种特殊的重写:子类与父类的方法返回值、方法名称、参数类型、及个数完全相同,唯一不同的是方法的实现内容
8.toString()方法是讲一个对象返回为字符串类型,他会返回一个String实例
9.方法的重载:在同一个类中允许同时存在一个以上的同名方法,只要这些方法的参数个数或类型、顺序等不同即
10.在一个类中使用内部类,可以再内部类中直接访问外部类成员,尽管类被修饰成private。内部类的对象实例化要在外部类或外部类的非静态方法中实现。内部类中有静态成员,该类必须是static的
11.输入流:程序从输入流读取数据源。数据源包括外界(键盘、文件、网络…),即是将数据源读入到程序的通信通道。
12.输出流:程序向输出流写入数据。将程序中的数据输出到外界(显示器、打印机、文件、网络…)的通信通道。
2.包装类
2.1 用途
(1)作为和基本数据类型对应的类,类型存在方便涉及到对象的操作;
(2)摆好每种基本数据类型的相关属相比如最大最小值
2.2 实际应用(以int 和Integer为例)
(1)可以进行int和Integer类相互转换,在实际转换时,使用Integer类的构造方法,和Integer类内部的intValue方法实现
int n=5;
Integer n1=new Integer(n);
System .out.println("int型转换成Integer类:"+n1)
Integer n=new Integer(50);
int n1=n.intValue();
System .out.println("Integer型转换成int 类:"+n1)
(2)Integer类常用方法
parseInt()方法:将数字字符串类型装换成int类型
toString()方法:将int类型转换成数字字符串类型
2.3 int和Integer区别
(1)Int 是基本数据类型,二Integer引用数据类型
(2)Int 声明不需要实例化,且变量声明后初始值为1;Integer是一个类,初值为NULL,需要实例化,才能对变量数据进行处理
(3)Integer是int的包装类,实际开发中Integer被看成一个对象,可以进行数据转换等操作
final关键字
随口就来
1、被final修饰的类不可以被继承;且定义为private方法阿隐式地被指定为final类型
2、被final修饰的方法不可以被重写
3、被final修饰的变量不可以被改变
注意3中的话:被final修饰的变量不可以被改变,什么不可以被改变呢,是变量的引用?还是变量里面的内容?还是两者都不可以被改变?
答 :被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的。
3.常用集合的分类:
Collection 接口的接口 对象的集合(单列集合)
├——-List 接口:元素按进入先后有序保存,可重复
│—————-LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
│—————- ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
│————— Vector 接口实现类 数组, 同步, 线程安全
│ ———————- Stack 是Vector类的实现类
└——-Set 接口: 仅接收一次,不可重复,并做内部排序
├—————-HashSet 使用hash表(数组)存储元素
│———————— LinkedHashSet 链表维护元素的插入次序
└ —————-TreeSet 底层实现为二叉树,元素排好序
Map 接口 键值对的集合 (双列集合)
├———Hashtable 接口实现类, 同步, 线程安全
├———HashMap 接口实现类 ,没有同步, 线程不安全-
│—————–LinkedHashMap 双向链表和哈希表实现
│—————–WeakHashMap
├ ——–TreeMap 红黑树对所有的key进行排序
└———IdentifyHashMap
---------------------