java实现面向对象编程

1对象和封装
封装:隐藏内部细节,加入控制,提供唯一接口(通过方法封装)
ctrl+shit+O 快捷键
getName获取,setName逻辑判断
成员有初始值,局部没有默认值必须赋值才能使用
static final 静态常量一般纯大写
注意:静态属性不能声明在局部变量中
静态代码块 static{} 最先执行  
静态调用 类名.属性/方法
2继承
extend super override overload abstract graduate constructor constructor constructor inheritance
符合is-a 关系 使用extend关键字
super(参数,参数,..); super.父类属性/父类方法
同下默认可以继承,private不能继承,protect不同包不能
存在多重继承时,先调用最老的那一代(18代)
重写override可以省略
注意:构造方法不能被继承,因此被重写
重写时 ,子类访问权限不能严于父类
抽象 没有意义,无方法体,有抽象方法 ,必须在非抽象子类中实现
final 在类中用类不能被继承,在方法中用不方法不能被重写,在属性中用属性不能被修改
3多态
多态:同一个引用类型,使用不同的实例执行不同的操作;
条件:1,具有继承关系 2,子类重写父类方法 3,父类引用指向子类的对象(向下转型/向上转型)
父类到子类的转化,向下转型(强制转换)
instanceof用于类型判断]
4接口
instance  override constructor ClassCastException  upcasting downcasting  cbstract exception异议
intenface 关键字
在接口中所有方法都是public abstract 可省可不省   
接口的一些特点:
1接口不能被实例化 不能写构造函数
2变量都是静态常量
3实现类必须实现接口的所有方法
4类不能 继承接口,可以实现多个接口
5接口可以继承多个接口
理解:接口本身没有实现任何功能,接口表一种能力,拓展很方便(通过此口实现具体的功能)
接口是一种约定(体现在名称和注释上)
C#中不允许写public static
接口不能包含字段,但可以包含属性      使用 :实现

5异常
exception try  catch  finally  throw arithmetic log property
异常是指程序在运行事件中发生的不正常事件,会中断正在运行的程序
JAVJ 中关于异常5个关键字catch,try,finally,throws,throw
注意:catch 捕获异常,立即捕获
finally只有一种情况程序退出不会执行
throws声明异常,(方法不处理,交给调用者处理)
抛出异常  throw new Exception
日志:主要是用来记录系统运行中的一些重要操作信息 (方便日后产品上线后的维护)
使用步骤:
1 导入架包
2 创建log4j.properties文件 ,配置日志信息
3 Logger logger=Logger .getLogger(Test1.class.getName)

logger.debug();
6java框架集合
collection 采集  set 集合  list列表 map映射  iterator 迭代器 generic 类的 remove 移动  contain 包含,控制 value价值
collection接口包含List和Set ,其中List 包含ArrayList和LinkedList
创建ArrayList集合 List dogs =new ArrayList 遍和随机访问元素效率高,增删效率较低
创建LinkedList 集合LinkedList dogs=new LinkedList() 遍和随机访问元素效率低,增删效率较高 ,多了6个fisrt,last方法
Map dogs =new HashMap();
Set keys = dogs.keySet();得到建的集合
dogs.Values();得到值的集合
Iterator循环遍历
Iterator it =keys.iterator();
while(it.hasNext()){
 String key=(String)it.next();//取出key值
 Dod dog =(Dog)dogs.get(key); //取出key对应的值
}

7 多线程
进程:应用程序执行的实例
线程:进程中执行运算的最小单位
多线程:一个进程中运行多个线程,交替占用cpu资源
创建线程的方法:1类继承线程类,重写run() 调用 strar()(开辟新的子线程)
   2类实现Runable a创建类对象b创建线程对象(类,"")c strat();
线程的5个状态:创建,就绪,阻塞,运行,死亡
线程的优先级:setPriority(Thrad.PRIORITY)/(1-10)
线程的休眠:相当于线程进入阻塞状态 sleep();
线程的强制运行try{ join() } ;
线程的礼让,可能暂停线程,允许其他同级优先,该线程处于就绪状态、
多个线程操作同个共享资源时将引发数据不安全问题
cynchronized就是为当前线程声明一个锁 ,一次只会让一个对象访问
同步操作1 public synchronized void
 2 同步代码块 ,synchronized (this)
共享资源时特点:1同一时刻只能有一个线程进入syn
  2 当访问syn时,另一个也会上锁
  3 非同步代码不会上锁,依旧可以访问
线程安全:Hashtable,StringBuffer都是线程安全,HashMap和StrinBuilder属于非线程安全
8 File I/O
file  directory exists stream unicode write buffer data
 
 
 
 
 
 
 
posted @ 2018-10-30 21:30  浮夸就是我的方式  阅读(433)  评论(0编辑  收藏  举报