http://www.cnblogs.com/yanghenglian/archive/2012/04/08/2438190.html
Java面向对象
终于学习完了Java了。唉。这个Java好是好,但是我就是不太喜欢啊。下面总结这个月的学习把。
第一章:
方法的重载和方法的重写:重载就是方法的不同版本的实现;而重写是改变覆盖原来的方法
对于构造方法是在构造类的对象的时候实现的方法。为对象初始化使用的方法。
封装是将类的成员属性声明为私有的。同时提供共有的方法对该成员属性的存取操作。
封装可以隐藏类的实现细节。
第二章:
继承是Java中实现代码重用的手段之一。
Java和C#一样都是只支持单继承的。不像C++那样可以多继承,Object类是所有类的父类。
在子类中可以通过super关键字调用父类的方法。以可以通过this关键字调用自己本身的方法。但是在构造函数中super和this关键字只可以存在一个,并且是放在构造函数的第一句,
Very import。
抽象类是不可以实例化的。抽象类中可以没有,可以有一个或者多个抽象方法。继承抽象的抽象类的子类必须重写这些方法。除非子类自己本身也是一个抽象类。
使用final修饰的类,不可以被任何类继承的。Final修饰的变量是最终变量,是常量;final修饰的方法是不可以被子类重写的。
第三章:
多态的理解:同一种对象在不同环境下执行同一种方法所得到的结果不一样,或者,不同对象在完成同一件事情所得到的结果不同。
在多态中:将子类转换为父类称之为向上转型,不需要强制转换,而反之将父类转换为子类就是向下转型,必须要强制转换。
向上转型后可以通过变量调用子类的覆盖了父类的方法。通过父类引用变量无法调用子类自己的方法。
向下转型必须转换为子类真正的对象。转换失败会引起ClassCastException转换异常。
Instead of 运算符是判断一个对象是不是属于某个类或者实现了某个接口
使用父类作为方法的形参是使用多态的常用方式。
--------------------------------------------------------------------------------------
接口:接口表示一总能力或者是一总约束,它是一些抽象方法集合和全局静态常量集合的类。
Java与C#接口的区别:
1.Java中接口通过extends继承父接口,类通过implements 实现接口,C#中通过“:”来实现这两个功能。
2.Java中的成员变量(属性)一般是常量,自动用public static final修饰,C#接口中不允许存在成员变量,但是可以有属性。
3.Java接口中的属性和方法都是使用public修饰符的。C#中默认是public,但是不允许显示使用public修饰符。
4.Java接口中可以第一静态常量和方法。但是C#接口中不允许包含任何的静态成员。
----------------------------------------------------------------------------------------------