Java知识点梳理(一)

1、Java和C++的区别:

    Java据有跨平台特性,c++依赖于特定的平台
    Java没有指针
    支持自动垃圾回收
    不支持多重继承
    

2、Java--jvm、jre、jdk

        jdk:整个Java的核心,包括了Java运行环境JRE,Java工具和Java基础类库
        jre:运行Java的环境集合,包含jvm标准实现与Java核心类库
        jvm:Java虚拟机,实现跨平台的核心部分
        jdk包含jre和jvm,jre包含jvm。

3、跨平台特性

Java 源代码经过编译,生成字节码文件,交由 Java 虚拟机来执行,不同的系统有不同的JVM,借助JVM 实现平台。Java的编码方式--Unicode编码标准,为每个字符制定唯一的数值,在任何平台都可以放心的使用

4、Java语言特点:

    面向对象
    一次编译,到处运行
    支持多线程、网络编程
    安全性和可靠性较高

5、面向对象和面向过程的区别:

  •     面向对象:易维护、易复用、易扩展,具有封装、继承、多态的特性,可以设计出低耦合的系统。
  •     面向过程:性能比面向对象高,类调用时需要实例化,消耗资源。较难维护。

6、面向对象的三大特性:

  •     封装:类封装属性和行为,方法封装特定的业务逻辑,通过访问控制符限制封装内容的访问权限。
  •     继承:通过extends实现代码复用,涉及的对象有超类、派生类、接口。超类封装派生类的共有属性和行为,接口封装部分派生类共有的属性和行为,一个类可以实现多个接口,从而突破了继承的单一性限制。
  •     多态:同个行为具有多个不同表现形式或形态的能力。实现多态的必要条件:继承、重写、上溯造型。上溯造型是指将子类的引用赋给父类对象,编译时属性的调用取决于父类,并且能够引用的只有父类声明过的方法。运行时方法的结果看子类的结果。

7、访问控制修饰符:

  •     public:公开的
  •     protected:本类、同包类、同包子类可以访问
  •     default:本类、同包类、同包子类可以访问
  •     private:本类可以访问  

8、重写和重载的对比:

  •     重写:发生在父子类中,方法名、参数列表相同,返回值、抛出异常小于等于父类,访问控制修饰符大于等于父类。当父类方法由private修饰时,子类的同名方法就不属于重写。绑定在运行期,通常子类对父类的方法不满时,就会对父类的方法进行重写。
  •     重载:发生在一个类中,方法名相同,但参数列表不同,重载的方法不能以方法的返回值区分。编译时编译器会根据方法签名自动匹配和调用对应的方法。构造函数(构造器)就是重载的表现。

9、抽象类和接口的对比:

  •     抽象类:通过abstract class定义,是抽象方法的集合,一个子类只能继承一个抽象类,继承后需要重写父类中的所有抽象方法。抽象类中可以有抽象方法,也可以有其他类型的方法。访问控制修饰符没有限定。可以有构造函数,字段的声明可以是任意的。
  •     接口:由interface定义,一个子类可以实现多个接口,接口可以继承多个接口。子类实现的时候需要重写接口中的所有方法,接口中的方法不能使用public外的,不能有构造器,接口中只有常量。

10、变量:

  •     成员变量(类变量、实例变量)、局部变量
  •     类变量:static修饰,定义在类中,方法外,有默认的初始值,存储在方法区,跟随类的加载而生存。
  •     实例变量:无static修饰,存于堆中,定义在类中,方法外,跟随实例的创建和销毁而生存。
  •     局部变量:定义在方法中,没有默认初始值,存于栈中,跟随方法的调用和结束调用而生存。

    

    

    

    

    

    

    

    

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值