OOP--面向对象
第三章 JAVA面向对象
第一节:面向对象的基本概念(面向对象和面向过程的区别)
第二节:类与对象 (类和对象的区别)
第三节:方法
3.1 方法的定义及简单使用
3.2 方法的值传递和引用传递
3.3 方法的重载
方法的重载,参数个数不一样,参数的类型不一样。(返回值类型不一样,不算重载,直接会报错的 会说方法重名)
http://blog.java1234.com/blog/articles/169.html
3.4 static 静态方法与普通方法
第四节:构造方法,this关键字
http://blog.java1234.com/blog/articles/175.html
第五节:访问控制权限及package import关键字
主要有 private(私有), package(包访问权限),protected(子类访问权限),public(公共访问权限)
第六节:内部类
第七节:代码块
第八节:String类
http://blog.java1234.com/blog/articles/182.html
第九节:类的继承
定义:子类能够继承父类的属性和方法;注意点:Java中只支持单继承; 私有方法不能继承;
2,方法重写 3,对象实例过程以及super关键字
http://blog.java1234.com/blog/articles/187.html
第十节:final 关键字
使用final声明的类不能被继承;
使用final声明的方法不能被子类覆盖;
使用final声明的变量不能被修改,即为常量;
第十一节:抽象类
1,包含一个抽象方法的类是抽象类;
2,抽象类和抽象方法都要用abstract关键字修饰;
3,抽象方法只需要声明而不需要实现;
4,抽象类必须被子类(假如不是抽象类)重写抽象中的全部抽象方法;
5,抽象类不能被实例化;
第十二节:接口 (接口和抽象类的区别)
接口定义:一种特殊的“抽象类”,没有普通方法,由全局常量和公共的抽象方法所组成;
注意点:由于接口里的方法都是抽象的,所以abstract可以省略。先继承,后实现接口。接口可以继承多个接口。
http://blog.java1234.com/blog/articles/190.html
第十三节:Java面向对象中的多态性
Java中的多态性表现:
1,方法的重载和重写;
2,可以用父类的引用指向子类的具体实现,而且可以随时更换为其他子类的具体实现;
对象的转型:
向上转型:子类对象->父类对象 安全
向下转型:父类对象->子类对象 不安全
http://blog.java1234.com/blog/articles/191.html
第十四节:Object 类
Object类的常用方法
1,public String toString() 返回该对象的字符串表示。
2,public boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”
第十五节:instanceof关键字
第十六节:匿名内部类
第十七节:包装类
第十八节:设计模式(单例模式)

/*这里我们构造方法私有 这样就保证了在外部是无法来实例化对象; 然后我们先在内部定义一个静态常量对象,然后再写一个static方法 来返回这个对象,这样就保证是一个对象了;*/ public class Singleton { /** * 构造方法私有 */ private Singleton(){ } private static final Singleton single=new Singleton(); /** * 获取实例 * @return */ public static Singleton getInstance(){ return single; } } ------------------------------------------------------------------ /*饿汉式是先定义实例的 而懒汉式是先定义引用,当第一次调用getInstance的时候 进行对象实例化操作; 当然这里我们考虑到多并发的情况 多个线程同时调用这个方法的时候,会出现问题,所以我们加了同步锁 synchronized 来保证 同一时刻只有一个线程进入方法*/ public class Singleton2 { /** * 构造方法私有 */ private Singleton2(){ } private static Singleton2 single=null; /** * 获取实例 * @return */ public synchronized static Singleton2 getInstance(){ if(single==null){ System.out.println("第一次调用"); single=new Singleton2(); } return single; } }
http://www.cnblogs.com/zhouqiang/archive/2012/07/20/2601365.html
(经典面试题,后续再补充。。。)
Java面向对象三大特性及作用;
封装:我们可以类,类里有方法,属性,可以封装很多功能 仅仅对外暴露一些接口,来实现模块化,组建化,和安全性;
继承:Java中的类可以继承,类似子女可以继承父母的东西;来实现可扩展;
多态:Java中的父类接口可以指向子类实现的引用;这个我们后面通过实例详细讲解;
重载和重写;
方法的重载,参数个数不一样,参数的类型不一样。(返回值类型不一样,不算重载,直接会报错的 会说方法重名)