java面向对象编程基础知识点总结

对象和封装:
1.现实世界是面向对象的,面向对象就是采用现实模拟的方法设计和开发程序。

2.面向对象设计是目前计算机软件开发中最流行的技术,面向对象设计的过程就是抽象的过程。

3.类是对某一类事物的描述,是抽象的、概念上的定义。对象是实际存在的该事物的个体是具体的,现实的。

4.如果同一个类包含了两个或两个以上的方法,它们的方法名相同,方法参数或参数类型不同则该方法被重载了,这个过程称为方法的重载

5.构造方法用于创建类的对象,构造方法的主要作用就是在创建对象时执行一些初始化操作。可以通过构造方法重载来实现多种初始化行为。

6.封装就是将类的成员属性声明成私有的,同时提供公有的方法实现对该成员属性的存取操作。

7.封装的好处:隐藏类的实现细节,让使用者只能通过程序规定的方法来访问数据,可以方便地加入存取控制语句,限制不合理操作。

继承
1.继承是java中实现代码重用的重要手段之一,java中只支持单继承,即一个类只能有一个直接父类。java.lang.Object类是所有java类的祖先。

2.在子类中可以根据实际需求对从父类继承的方法进行重新编写,称为方法的重写或覆盖。

3.子类中重写的方法和父类中被重写的方法必须具有相同的方法名、参数列表、返回类型必须和重写方法的返回值类型相同或是其子类。

4.如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。

5.抽象类不能实例化,抽象类中可以有零到多个抽象方法,非抽象类若继承抽象类则必须重写父类的所有抽象方法。

6.子类必须重写父类所有抽象方法才能实例化,否则子类还是一个抽象类。

7.用final修饰的类,不能被继承。用final修饰的方法,不能被子类重写,用final修饰的变量将变成常量,只能在初始化时进行赋值,不能在其他地方修改。

多态
1.通过多态可以减少代码量,可以提高代码的可扩展性和可维护性。继承是多态的基础,没有继承就没有多态。

2.把子类转换为父类称为向上转型,自动进行类型转换。把父类转换为子类称为向下转型,必须进行强制类型转换。

3.向上转型后通过父类引用变量调用的方法是子类覆盖或继承父类的方法,通过父类引用变量无法调用子类特有的方法。

4.向下转型后可以访问子类特有的方法。必须转换为父类指向的真实子类类型,否则将出现类型转换异常ClassCastException

5.instanceof运算符用于判断一个对象是否属于一个类或实现一个接口。

6.instanceof运算符通常和强制类型转换结合使用,先通过instanceof进行类型判断,再进行相应的强制类型转换。

7.使用父类作为方法形参和使用父类作为返回值类型是使用多态的常用方式。

接口
1.接口中的属性都是全局静态变量,接口中的方法都是全局抽象方法,接口中没有构造方法。

2.类只能继承一个父类,但是可以实现多个接口。一个类如果实现一个接口,则必须实现接口的全部方法,否则必须将其定义为抽象类,java通过实现接口达到了多重继承的效果。

3.接口表示一种约定,接口表示一种能力,接口体现了约定和实现分离的原则。

4.抽象类利于代码的重用,接口利于代码的维护。

5.通过面向对象编程,可以降低代码间的耦合性,提高代码的可扩展性和可维护性。

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

7.C#中接口的成员主要是方法和属性,接口中不能包括常量、变量、构造方法和任何静态成员,定义接口时显式指定任何修饰符是非法的。

异常
1.异常是由java应用程序抛出和处理的非严重错误,它可以分为Checked异常和运行时异常两大类。

2.Checked异常必须捕获或者声明抛出,否则无法通过编译,运行时异常不要求必须捕获或者声明抛出。

3.java异常处理是通过五个关键字来实现的:try catch finally throw throws。

4.即使在try块,catch块中存在return语句,finally块中语句也会被执行。finally块中语句不被执行的唯一情况是,在异常处理代码中执行System.exit(1)。

5.可以一个try语句块后面跟多个catch语句块,分别处理不同的异常。但排序顺序必须是从特殊到一般,最后一个一般为Exception类

6.log4i是一个优秀的日志记录工具,常用使用方式是配置log4j.properties文件,从而控制日志的输出级别,目的地和输出格式。

集合框架
1.集合弥补了数组的缺陷,它比数组更灵活更实用,可大大提高软件的开发效率,而且不同的集合可适用于不同场合。

2.集合框架是为了表示和操作集合而规定的一种统一的标准体系结构。集合框架包含三大块内容:对外的接口、接口的实现和对集合运算的算法。

3.通常说java的集合框架中有两大类接口,即Collection和Map。其中Collection有两个子接口,即List和Set,各接口区别如下
Collection接口、存储一组唯一、无序的对象。
Set接口继承Collection接口、存储一组不唯一、有序的对象
Map接口存储一组成对的键-值对象、提供key到value的映射。key不要求有序,不允许重复。value同样不要求有序,但允许重复。

4.ArrayList和数组采用相同的存储方式,它的优点在于遍历元素和随机访问的效率比较高。LinkedList采用链表存储方式,优点在于插入,删除元素时效率比较高。

5.HashMap是最常见的Map实现类,它存储方式是哈希表,优点是查询指定元素效率高。

6.lterator为集合而生,专门实现集合的遍历,它隐藏了各种集合实现类的内部细节,提供了遍历集合的统一编程接口。

7.使用泛型集合在创建集合对象时指定集合中的元素的类型在从集合中取出元素时无须进行类型强制转换,避免了ClassCastException异常。

8.java中有八个包装类:Byte、Short、Integer、Long、Float、Boolean、Character。

多线程
1.多线程允许程序员编写可最大程度利用CPU的高效程序。

2.在java程序启动时,一个线程立即运行,该线程通常称为程序的主线程。主线程的重要性体现在以下两个方面。
它是产生其他子线程的线程。
通常它必须最后完成执行,因为它执行各种关闭动作
可通过两个方式创建线程
声明一个继承了Thread类的子类,在此子类中实现Thread类的run()方法。

3.每个线程创建和死亡之前,均会处于创建、就绪、运行、阻塞、死亡状态之一。

4.在java实现的多线程应用程序中,可以通过调用Thread类中的方法来实现对线程对象的操作。
调整线程的优先级:java线程有优先级,在同等情况下,优先级高的线程会获得较多的运行机会。java线程的优先级用1~10的整数表示。

线程睡眠:sleep(long millis)方法使线程转到阻塞状态。

线程的强制执行:join()方法可以强制某一线程运行。

线程礼让:yieId()方法,暂停当前正在执行的线程对象,把执行机会让给相同或者更高优先级的线程。

5.当多个线程对象操纵同一共享资源时,要使用synchronized关键字来进行资源的同步处理,可以使用同步方法和同步代码块来实现线程的同步。

File I/O
1.File类用于访问文件或目录

2.流是指连串流动的字符,是以先进出的方式发送信息的通道。程序和数据源之间通过流联系起来的。

3.流可以分为输入流和输出流,也可以分为字节流和字符流。

4.FileInputStream和FileOutStream以字节流的方式读写文本文件。

5.BufferedReader和BufferedWriter以字符流的方式读写文本文件,而且效率高。

6.DataInputStream和DataOutputStream可用于读写二进制文件。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值