java面向对象

来源:互联网 发布:软件服务外包产业园 编辑:程序博客网 时间:2024/06/06 06:51

第一章:

方法的重载和方法的重写:重载就是方法的不同版本的实现;而重写是改变覆盖原来的方法
对于构造方法是在构造类的对象的时候实现的方法。为对象初始化使用的方法。
封装是将类的成员属性声明为私有的。同时提供共有的方法对该成员属性的存取操作。
封装可以隐藏类的实现细节。
第二章:
继承是Java中实现代码重用的手段之一。

JavaC#一样都是只支持单继承的。不像C++那样可以多继承,Object类是所有类的父类。

在子类中可以通过super关键字调用父类的方法。以可以通过this关键字调用自己本身的方法。但是在构造函数中superthis关键字只可以存在一个,并且是放在构造函数的第一句,

Very import

抽象类是不可以实例化的。抽象类中可以没有,可以有一个或者多个抽象方法。继承抽象的抽象类的子类必须重写这些方法。除非子类自己本身也是一个抽象类。

使用final修饰的类,不可以被任何类继承的。Final修饰的变量是最终变量,是常量;final修饰的方法是不可以被子类重写的。

第三章:

多态的理解:同一种对象在不同环境下执行同一种方法所得到的结果不一样,或者,不同对象在完成同一件事情所得到的结果不同。

在多态中:将子类转换为父类称之为向上转型,不需要强制转换,而反之将父类转换为子类就是向下转型,必须要强制转换。

向上转型后可以通过变量调用子类的覆盖了父类的方法。通过父类引用变量无法调用子类自己的方法。

向下转型必须转换为子类真正的对象。转换失败会引起ClassCastException转换异常。

Instead of 运算符是判断一个对象是不是属于某个类或者实现了某个接口

使用父类作为方法的形参是使用多态的常用方式。

--------------------------------------------------------------------------------------

接口:接口表示一总能力或者是一总约束,它是一些抽象方法集合和全局静态常量集合的类。

JavaC#接口的区别:

1.Java中接口通过extends继承父接口,类通过implements实现接口,C#中通过“:”来实现这两个功能。

2.Java中的成员变量(属性)一般是常量,自动用public static final修饰,C#接口中不允许存在成员变量,但是可以有属性。

3.Java接口中的属性和方法都是使用public修饰符的。C#中默认是public,但是不允许显示使用public修饰符。

4.Java接口中可以第一静态常量和方法。但是C#接口中不允许包含任何的静态成员。

----------------------------------------------------------------------------------------------

类只可以继承一个类,但是可以同时实现多个接口,但是一定要实现接口中所有的方法。

通过面向接口编程,可以降低代码间的耦合型。提高代码的可扩展性和可维护性。

面向接口变成意味着:开发系统是,主体构架使用接口,接口构成系统的骨架,这样就可以通过更改实现接口的类来更换系统的实现。

继承是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#接口中不允许包含任何的静态成员。

----------------------------------------------------------------------------------------------

类只可以继承一个类,但是可以同时实现多个接口,但是一定要实现接口中所有的方法。

通过面向接口编程,可以降低代码间的耦合型。提高代码的可扩展性和可维护性。

面向接口变成意味着:开发系统是,主体构架使用接口,接口构成系统的骨架,这样就可以通过更改实现接口的类来更换系统的实现。

第八章:

异常:1.Checked异常

2.运行时异常

Checked异常必须捕获或者声明抛出。否则编译器是无法通过编译的。运行时的异常不一定是要求捕获或者声明抛出的。但是最好不要出现运行时异常,这样感觉你做事不够谨慎。

Java的异常总共只有五个关键字。

Try

Catch

Finally

Throw

Throws

------------------------------------------

Try catch块中的语句都存在return的时候finally块中的语句都会执行的。除非遇到了。System.exit(1);-不正常退出。

Catch块的放置顺序也是也是不同的。子类必须放在父类的前面,可以嵌套try catch块,但是这样是不好的。不要嵌套超过两层的try catch 语句块。

第九章:

集合:一个不固定类似数组的可变存储空间。

在Java中集合可以分为很多种,主要的有Set集合,List集合,map集合。

Set集合接口存储的是一组唯一(不允许重复)、无序的对象。

List集合接口存储的是不唯一(允许重复)、有序(以元素插入的顺序来存放,不会重新排列)的对象。

Map集合接口主要是→key和value 组成的。其中key 不要求有序,不允许重复的。Value同样不要求有序,但是允许重复。

ArrayList和数组是采用的相同的存储方式。

对于它的一些使用方法在这边不进行叙说了。LinkedList采用的是链表存储方式,对于插入和删除比较快。

HashMap是实现了Map接口的具体实现类,他的存储方式是通过哈希表的。它的操作方式有点类似于字典,所以有时候也称之为字典。

迭代器:Iterator接口是Java集合框架中的一个成员。它的作用主要就是用来遍历Collection集合中的元素的。不可以迭代Map中的元素的。

当使用迭代器进行读取的时候,是不可以改变集合。只有通过Iterator的remove方法来删除上一次next方法返回的集合元素才可以。否则会引发java.util.ConcurrentModificationException。

原创粉丝点击