👨💻个人主页: 才疏学浅的木子 🙇♂️ 本人也在学习阶段如若发现问题,请告知非常感谢 🙇♂️ 📒 本文来自专栏: 面试 🌈 每日一语:世界会向那些有目标和远见的人让路 🌈 本文目录 Java的特点与优点 Java的基本数据类型与引用数据类型 抽象类与接口的区别 final关键字 static关键字 String s1 = "abc" 与 new String("abc")的区别 == 与 equals()区别 String、StringBuffer、StringBuilder的区别 has
1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。
工作了几年之后才发现,越是资深的JAVA工程师,应该越注重java基础知识,比如,成天和SpringBOOT、maven打交道,经常用apache提供的StringUtil类操作字符串,还有必要关心“String类为什么是final”这样的问题,这是肯定的哈。把基础夯实了,才不至于空中楼阁。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Java是支持并发,基于类的以及面向对象的一种计算机编程语言. 以下列举了面向对象编程的优势:
1. 什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”? a) Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟 机执行的字节码文件。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写 或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他 特性。 2. JDK 和 JRE 的区别是什么? a) Java 运行时环境(JRE)是将要执行 Java 程序的 J
修饰符(public/private/default/protected) final 返回值类型 方法名(){ }
继承指一个类(通常称为子类),去继承另一个类(通常称为父类)的属性和方法,通过继承子类可以使用父类的属性和方法.
一个类维护一个虚函数相关的表--vtable(__vfptr指向它),函数声明前面包含关键字“virtual”的函数,就会创建一个指向该函数的指针(函数指针)被存入vtable中。
在 TypeScript 中,null 和 undefined 类型是有具体意义的类型。在没有开启 strictNullChecks 检查时,会被视为其他类型的子类型,如 string 类型会被认为包含了 null 和 undefined。
一、基础知识: 1、JVM、JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。 java语言是跨平台,jvm不是跨平台的。 JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。 JDK(Java Development Kit):java的开发工具,包括jre+开发工具 2、环境变量path和classpath的作用是什么? (1)path是配置Windows
这一次的博文总结下数据封装、数据抽象与接口,其实有之前博文的基础这里也很容易理解。封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一个概念,这样能避免受到外界的干扰和误用,从而确保了安全。数据抽象是一种仅向用户暴露接口而把具体的实现细节隐藏起来的机制, C++ 通过创建类来支持封装和数据隐藏(public、protected、 private)。
今天老九君给大家分享一些Java面试需要的题目哟~ 01 anonymousinnerclass(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interfac
1.访问修饰符作用范围由大到小是( )。 A.private-protected-default-publicB.public-protected-default-private C.private-default-protected-publicD.public-default-protected-private 2.在 Java 语言中,下面接口以键-值对的方式存储对象的是( )。 A.java.util.List B.java.util.Map C.java.util.Collection D.j
回调函数是做为参数传递的一种函数,在早期C样式编程当中,回调函数必须依赖函数指针来实现。
abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。
C#允许把类和函数声明为abstract,抽象类不能实例化,抽象类可以包含普通函数和抽象函数,抽象函数就是只有函数定义,没有函数体。如果将类看做是模板,那么抽象类就是一个不完整的模板,我们不能使用不完整的模板去构造对象。
theme: channing-cyan highlight: a11y-dark
Dart中的类与Java中的相似,不同的是,Dart中没有private、public这些成员访问修饰符。如果是类私有的成员,不希望外面访问,只需要在成员变量之前加上一个下划线_变为私有即可。
一个简单的java程序如下: class Sakura { public static void main(String[] arges) { system.out.println("Hello World"); system.out.print("hahaha"); } } 1.主函数的出现可以保证一个类的独立运行的能力 2.在java程序中,pirnt与println的区别在于println输出一行之后是否再打印一个回车换行,而print则没有! 我们以后缀名为123.jav
一个 java 文件可以写多个类,每个类里面可以有main函数,一个java文件里面只能有一个 public 类,此时 java 文件的命名只能是public类名.java。使用 javac 编译一个 java 文件时,如果有多个类,会生成多个 类名.class 文件,java 类名 执行程序(单元测试)。多个class 文件可以打包成一个 jar 文件,java -jar test.jar 执行前需要设置一下程序入口,即在MANIFEST.MF 里面添加如下一句话:Main-Class: test.someClassName
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2). 一个被声明为静态的变量可以被模块内所用函数访问,但不能被其他文件函数访问。它是一个本地的全局变量。 3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用,这个函数被限制在声明它的模块的本地范围内使用。
抽象类和接口 什么是抽象类 用来表示现实世界中的抽象概念 是一种只能定义类型,而不能产生对象的类 只能被子类继承,且抽象类的相关成员函数没有完整的体现,用来被子类重写. 比如图形(Shape)类, 就是一个抽象的概念,因为我们无法计算这个“图形”的面积,所以它的成员函数area()是空的。 而继承它的子类(矩形,圆形,三角形等)就可以去重写area()成员函数. 里面通过数学公式,计算出面积. 参考图形(Shape)类,代码如下: class Shape { public: double ar
在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象。甚至,你可以只给出方法的定义而不实现,由子类根据具体需求来具体实现。
C#中的关键字 关键字是对编译器具有特殊意义的预定义保留标识符。它们不能在程序中用作标识符,除非它们有一个 @ 前缀。例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。 下面是列出的所有的关键字在 C# 程序的任何部分都是保留标识符: abstract as base bool break byte case catch char checked class const continue d
正所谓万丈高楼平地起,有了扎实的基础才能进阶更深奥的课程,才能让你后面的走得更轻松,学Java亦是如此!所以千万不能忽略基础的重要性,下面一起来温习一下那些容易忽略、容易混淆以及比较重要的Java基础。
1Java继承的关键字:extends 2优势: • 提高了代码的复用性; • 提高了代码的维护性; • 建立了类与类之间的关系,这个是多态的前提。 3缺点:1.耦合性太大 2.就是破坏了类的封装性 4特点: 1 java中,继承是单继承 2java在创建一个对象的时候首先会去调用父类的不带参数的默认的构造方法,就是为了创建父类对象 ,然后再去调用子类的构造方法。 3子类可以使用父类中的成员变量和方法,然后也可以添加自己的属性和方法。
概述:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要 继承那一个类即可。其中,多个类可以称为子类,单独那一个类称为父类、超类(superclass)或者基类。 继承描述的是事物之间的所属关系。
用php以来,一直怀念java的类和对象,终于PHP 5 引入了新的对象模型(Object Model)。完全重写了 PHP 处理对象的方式,向java靠齐了。下面来了解下吧!
在前面C++集群的项目里面大量应用到了绑定器来做解耦操作,那么,绑定器到底是什么呢?有什么玄妙的地方嘞?
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。
1. abstract 修饰符指示所修饰的内容缺少实现或未完全实现。 abstract 修饰符可用于类、方法、属性、索引器和事件。在类声明中使用abstract修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。
C++进阶-多态 零、前言 一、多态的概念和定义 二、虚函数 1、概念和定义 2、虚函数重写的特例 3、C++11 override 和 final 4、重载/重写/重定义对比 三、抽象类 四、多态的原理 1、虚函数表 2、多态的原理 3、动态绑定与静态绑定 4、多继承虚函数表 五、继承和多态常见的面试问题 零、前言 C++有五大特性:对象,封装,继承,抽象和多态。而本章则将学习讲解C++中的多态 一、多态的概念和定义 概念: 通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会
也称为编译期间的多态,编译器在编译期间完成的,编译器根据函数实参的类型(可能会进行隐式类型转换),可推断出要调用那个函数,如果有对应的函数就调用该函数,否则出现编译错误。
当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了!
常用五大包:java.long(longuage)该包下的类,在使用时是不需要导包的;java.util 工具包;java,io 文件读写;java.net 网络编程包;java.sql 操作数据库
2、Java虚拟机(Java Virtual Machine)将字节码文件再解释成机器码运行
因为JAVA程序编译后生成的字节码文件(class文件)是跨平台的。JVM不是跨平台,在不同的操作系统上开发JAVA程序,必须安装该操作系统版本的JVM。
一.概念 1.面向对象概念:世界万物皆对象。 2.对象的组成:两部分 a.成员属性 :对象的数据模型,用于描述对象的数据,又称为对象的属性,或者对象的成员变量。 b.成员方法:对象的行为模型,用于描述对象能够做什么事情,又被称为对象的方法。 3.对象的特点: a.每个对象都是独一无二。 b.对象是一个特定的事物,他的职能是完成特定的功能。 c.对象是可以重复使用的。 4.什么是面向对象?面向就是编程的时候一直把对象放在心上。 面向对象编程就是 在编程的时候数据结构(数据组织方式)都是通过对象的结构进行存储 5.为甚魔使用面向对象? 对象的描述方式更贴合真实的世界,有利于大型业务的理解 在程序设计的过程中用对象的视角分析世界的时候,能够拉近程序设计与真实世界的距离 6.面向对象的实质:就是把生活中要解决的问题都用对象的方式进行存储(属性 方法) 对象与对象之间通过方法的调用完成互动(方法) 7.面向对象的基本思路: a.识别对象 任何实体都可以被识别为一个对象 b.识别对象的属性 对象里面存储的数据被识别为属性 对于不同的业务逻辑,关注的数据不同,对象里面存储的属性也不同 c.识别对象的行为 对象自己属性数据的改变 对象和外部交互 7.面向对象的原则:高内聚低耦合 a.对象内部是高内聚的:该有的都有,不至于缺胳膊少腿 所有对象相关的内容都封装到对象内部 对象只负责一项特定的职能(投篮) b.对象对外是低耦合的:相互之间依赖关系特别小,程序设计的更灵活,有利于对象的重用 外部世界可以看到对象的一些属性 二、基本实践 1.类的概念: 物以类聚,把具有相似特性的对象归类到一个类中 类定义了这些相似对象拥有的相同的属性和方法 类的对象称为类的一个实例(Instance) 类是相似对象的描述,称为类的定义,是该类对象的蓝图或者原型 类的属性和方法统称为类成员(重要) 类就是一个框架,对象就是把这框架塞满 2.类的实例化(instantiate):通过类定义去创建一个类的对象,类只有一个,可以实例化出多个对象 类的定义里面属性值都是空的,而对象的属性都有具体的值 三。高级实践 1.继承的好处: a.父类里面定义的类成员可以不在子类里面重复定义,节约编程的时间和成本。 b.同一个父类的子类具有相同的父类定义的类成员,因此外部调用它们的时候可以一视同仁 c.子类可以修改和调整父类定义的类成员:我们成为重写overwrite,一旦子类修改了就按照子类修改后的功能执行 d.单继承原则:一个子类只能继承一个父类 2.面向对象的三种访问权限 public:公有的类成员,可以在任何地方被访问(定义该成员的类即自身,该类的子类,其他类) protected:受保护的类成员,可以被其自身及其子类访问 private:私有的类成员,只能被自身访问 3.静态属性和静态方法的定义 静态属性定义时在访问控制关键词后面添加static关键词即可,静态方法同理。如 public static $president=’tom’; public static function test(){}. 访问静态属性:类名::$president #带 $ 符号 。在类定义中使用静态成员时,用self(或static)::$president 访问静态方法:类名::test(); 在类定义外部访问静态属性时,我们使用类名::类的静态成员(成员属性,成员方法)。 使用parent访问父类中的静态成员。 在类的静态方法中不能使用$this调用类的非静态成员。 注意:6个 a.静态属性用于保存类的公有数据 b.静态方法里面只能访问静态属性 c.静态成员不需要实例化对象就可以访问 d.类的内部可以通过static或者self关键词访问自身静态成员 e.可以通过parent关键词访问父类的静态成员 f.可以通过类名称在类定义外部访问静态成员 4.final关键词 在子类中编写跟父类中方法名称完全一致的方法,可以完成对父类中方法的重写(overwrite) a.对于不想被任何类继承的类可以在class之前添加关键字final b.对于不想被子类重写(修改)的方法,可以在方法定义的前面加final 5.数据访问 a. 用parent关键字可以访问父类中被子类重写了的方法
一、选择题:(每题1分,共65分,包含复选题和单选题,复选题已做标记,其余为单选题)
偷偷告诉你们,下一期是 C++ 重头戏,也就是标准模板库 STL 的内容,下下一期应该就是 操作系统 的内容了。
做Android开发最重要的是要有一个很好的java基础。所以在我们的面试过程中也会被经常问到有关java的问题,其实在小编看来,如果java基础不好,那开发起Android来,怎一个累字了得。我记得小编在大二的时候,刚接触Android,那是java基础相当不好,做起来那个费劲都不用说,所以害的我重新又好好研读和学习了一遍java,之后,做起Android来简直就是顺风顺水。其实现在很多培训机构出来的学员,之所以做Android困难,就是因为时间太短,java的底子没有打好。好了,说了这么多,言归正传,今
学习是一个循序渐进的过程,作为一名.Net软件工程师我们需要学习和掌握的东西非常的多,本章主要是记录下前段时间面试中经常遇到的一些基础常识,这里只是大致的概括还有很多需要学习的东西需要不断的学习和积累。
1. Java基础部分 1.1 Java中的方法覆盖(Overwrite)和方法重载(Overloading)是什么意思? 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。 重写Override表示子类中的方法可以与父类的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。 1.2 接口和抽象类的区别是什么? 抽象
c#的多台方法,大体上和c++的类似,但是有点区别的,我这里刚刚初学,因此把重点记录下。
答∶ 类具有继承、数据隐藏和多态三种主要特性。类是同一类对象实例的共性的抽象,对象是类的实例化;类是静态的,对象是动态的,对象可以看作是运行中的类。类负责产生对象,可以将类当成生产对象的工厂
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。 protecte
领取专属 10元无门槛券
手把手带您无忧上云