• Java 基础知识


    1、Java 和 C++的区别?

         我知道很多人没学过 C++,但是面试官就是没事喜欢拿咱们 Java 和 C++ 比呀!没办法!!!就算没学过C++,也要记下来!

         1)都是面向对象的语言,都支持封装、继承和多态;

         2)Java 不提供指针来直接访问内存,程序内存更加安全;

         3)Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多继承,但是接口可以多继承;

         4)Java 有自动内存管理机制,不需要程序员手动释放无用内存。

    2、谈谈Java 面向对象编程三大特性

    封装

    封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。

    继承

    继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码。

    关于继承如下 3 点请记住:

       1)子类拥有父类对象所有的属性和方法(包括私有属性和私有方法),但是父类中的私有属性和方法子类是无法访问,只是拥有

       2)子类可以拥有自己属性和方法,即子类可以对父类进行扩展。

       3)子类可以用自己的方式实现父类的方法。(以后介绍)。

    多态

    所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。

    在Java中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。

    3、String str="abcd"与 String str1=new String("acbd")一样吗?str和str1相等吗?

    这两种不同的创建方法是有差别的:

    第一种方式先检查字符串常量池中有没有"abcd",如果字符串常量池中没有,则创建一个,然后str指向字符串常量池中的对象,如果有,则直接将str指向字符串常量池中的"abcd"";

    第二种方式是直接在堆内存空间创建一个新的对象。

    推荐使用第一种方式创建字符串。

    str和str1不相等,因为一个是堆内存中的String对象一个是常量池中的String对象。

    缘于生活,而归于工作。本人所书,而意于分享。 如有转载,请注明出处! --活出自己范儿
  • 相关阅读:
    放大图 带回弹效果
    用recyclerview实现对话(通过接口实现)
    java 问号表达式
    recyclerview的使用
    我遇到的报错信息整理
    横竖屏切换
    NOIP 2017提高组自测 奶酪
    小蝌蚪找妈妈 牛客
    牛客练习赛50 C tokitsukaze and Soldier
    洛谷P1630 求和
  • 原文地址:https://www.cnblogs.com/Small-sunshine/p/10963271.html
Copyright © 2020-2023  润新知