JAVA总复习-----1
Posted 小鹿可可乐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA总复习-----1相关的知识,希望对你有一定的参考价值。
java复习1
1.类和对象
类的作用是定义对象,类给出了属于该类的全部对象的抽象定义,而对象则是符合这种定义的一个实体,一个对象又称为类的一个实例
- 面向对象的三大特征:封装 继承 多态
- 面向对象的四大特征:抽象 封装 继承 多态
1.1 封装
封装:把对象的属性和服务结合成一个独立系统单位,并尽可能隐蔽对象的内部细节(java封装信息有四种访问权限:public>protected>包访问权限>private
1.2继承
继承:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。
1.3多态
定义:指类中具有相似功能的不同服务使用同一个名称来实现的现象。
1.3.1实现原理
1.静态绑定:重载–>条件
相同作用域,方法名相同,参数列表不同
2.动态绑定:重写–>条件(父子类,子类重写父类方法 )
方法名相同,参数列表相同,修饰符
子类权限 >= 父类权限
1.3.2实现条件
-1.继承/实现关系
-2.方法重写
-3.向上造型,重写方法的调用
基类引用:引用 派生类对象
基接口引用:引用 实现该接口的类和对象
1.2JVM
JVM内存划分:
1.2.1类加载过程
类加载期间给new的对象载堆中开辟空间
条件:
- new
- main函数
- 类名.静态成员
- 反射:People.class \\ Class.forName(“People”)
阶段:
- 装载(加载) 产物:生成当前类的Class对象->保存当前类类信息 class对象 方法区入口
- 链接
- 初始化
2.重写和重载的区别
1、重写实现的是运行时的多态,而重载实现的是编译时的多态。
2、重写的方法参数列表必须相同;而重载的方法参数列表必须不同。
3、重写的方法的返回值类型只能是父类类型或者父类类型的子类,而重载的方法对返回值类型没有要求。
3.Final
变量:final int INITSIZE = 10 常量
方法 :final void fun(){ } 不允许重写
类:final class String{ } 不能被继承
4.Static
4.1变量
静态变量和实例变量区别:
- 存储位置:静态->方法区、实例变量->堆
- 静态->类有关,一个类只有一份静态变量、实例->对象有关,几个对象几份实例变量
4.2方法
静态方法和实例方法区别:
- 调用方式不同:静态->类名.静态方法、实例->对象.实例方法
- 重写:静态方法不能被重写,private方法不被重写
4.3类 - >内部类
静态内部类和实例内部类的区别(是否包含外部类对象的this)
在内部类中看是否需要访问外部类:需要->实例、不需要->静态
5.单例模式
构造函数私有,公有函数返回实例对象
条件:private构造函数,公有静态函数,返回实例对象
4.1懒汉单例(用时创建对象)
优点:尽最大可能节省内存空间
缺点:在多线程编程中,使用懒汉式可能造成类的对象在内存中不唯一,虽然用过修改代码可以改正这些问题,但是降低了效率,线程不安全
4.2饿汉单例(类加载时创建对象)
线程安全,安全是由类加载机制保证
今天也要好好学习呀~
以上是关于JAVA总复习-----1的主要内容,如果未能解决你的问题,请参考以下文章