java基础整理.doc
文本预览下载声明
java有几种类型
基本类型 引用类型 空类型
java有几种基本类型
byte short int long float double boolean char
什么是面向对象
一切皆对象
面向对象有哪些特征
封装 继承 多态
封装 使属性(特征)私有化,
外部不能直接访问,
需要访问属性,
为外部提供公开的方法(行为)进行访问
继承 是一种是的关系,子类对父类进行扩展
对父类的复用,java只允许单继承
多态 一种事物多种形态
对象的多态,把一个对象复制给不同的引用
方法的多态,重写 重载
分别说明重写和重载,有哪些要求
重写 是父子类之间,如果创建的是子类对象,
调用重写的方法,执行的是子类的
方法名相同,返回类型相同,参数列表相同
抛出的异常不能更大,访问权限不能更小
重载 是在一个类中,为了调用者方便
方法名相同,参数列表不同(参数类型不同,参数个数不同)
类加载搜索的顺序
当前目录 rt.jar CLASSPATH 抛出异常
什么时候会导致类加载
调用java命令时
创建对象时
访问静态成员时
调用Class.forName(类全名)时
this,super分别表示什么
this 当前对象
super 创建当前对象时创建的父类对象
this() 调用本类构造方法,只能出现在构造方法第一行
super() 调用父类构造方法,只能出现在构造方法第一行,至少有一个构造方法第一行是super()
this. 是一个引用,表示当前对象,任意成员方法内
super. 是一个引用,表示创建当前对象时创建的父类对象,任意成员方法内
静态代码块和代码块分别什么时候执行
静态代码块 相当于静态方法,类加载时执行,只执行一次
代码块 相当于成员方法,创建对象时执行,对于一个对象,只执行一次
比较两个对象有哪些方法
判断两个引用指向的是否是同一个对象 ==
比较两个引用指向的对象的值 equals()
比较对象大小
自然顺序(这样事务本身是有序的)
实现可比较接口 Comparable接口,实现compareTo(E obj)方法
零时根据业务逻辑做比较 比较器
实现Comparator接口,实现compare(E obj1,E obj2)方法
是否可以继承String类
不能 被final修饰
final表示什么,能修饰哪些地方
不可改变
类 这个类不能被继承
属性 创建完对象以后不能被修改
变量 初始化以后不能被修改
方法 方法不能被重写
static表示什么
静态的
所有对象共享
属于类的
能修饰 属性,方法,内部类,静态代码块
创建对象的步骤
在堆里分配空间
初始化属性(0,0.0,\u0000,false,null,默认值)
调用自己的构造方法
接口和类和抽象类的区别
类和抽象都表示的是现实的事物
接口表示的是规范
抽象类表示的是一个实际存在但是是抽象的事物
接口里的所有属性是public static final
所有方法是public abstarct
抽象类跟普通类差不多,比普通类多了一些抽象方法
接口没有构造方法
抽象类有构造方法
接口和抽象类都不能创建对象
抽象类的构造方法给子类构造方法调用
普通类可以创建对象
抽象类 abstarct class
类 class
接口 interface
String对象能不能修改
不能 String采用不变模式
如果需要对一个字符串反复修改
使用StringBuffer和StringBuilder
String和StringBuffer和StringBuilder的区别
String 不可以改变
StringBuffer 线程安全
StringBuilder 线程不安全
String s1=new String(abc); 2
String s2=abc; 0
String s3=ab+c; 0
String s4=ab; 1
String s5=c; 1
String s6=s4+s5; 2 1
总共创建了几个对象,总共创建了几个String对象
6 5
基本类型 包装类 String之间的转换
day11包下
String 和日期之间的转换
day11包下
3种表示日期
day11包下
Object类里所有方法
11个方法
String类的常用方法
GC是什么
垃圾回收器
java程序员不需要关心
内存对象释放问题
由jvm来负责释放内存
如果一个对象没有任何引用指向他
这个对象被视为垃圾,jvm会在空闲时
显示全部