常见问题

1.简述面向对象和面向过程的特点。

面向过程:按顺序编写和执行程序,一行行,一句句地执行指令,把这些指令包装成一个个过程,通过参数批量调用。

面向过程:将程序指令和所要操作的数据封装成一个个模板,然后在需要的时候将模板实现为实例,用不同实例组合成解决问题的方法,组成最终的程序。

2.谈谈对象和类的关系

类:具有相同特征和行为的事物的集合,是对象的模板。

对象:是该类相关事物的具体表现形式。

3.如果将内存分为栈和堆,简述他们的特点,以及能够存放什么内容?

栈的特点:

  1. 方法执行的内存区,每个方法被调用都会创建一个栈帧。
  2. 存储特性是先进后出,后进先出。
  3. 由系统自动分配,速度快。栈是一个连续的内存空间。

存放内容:局部变量、操作数、方法出口。

堆的特点:是一个不连续的空间,分配灵活,速度慢。、

存放内容:创建好的对象和数组。

4.局部变量、成员变量、静态变量分别怎么声明?

局部变量

  • 定义在局部范围内,只对所属的区域有效。
  • 存在于栈内存中,作用的范围结束,变量空间自动释放。
  • 没有默认初始化值。

成员变量:

  • 定义在类中,在整个类中都可以被访问。
  • 随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。
  • 有默认初始化值。

静态变量:

  • 用static声明的成员变量
  • 生命周期和类相同,在整个应用程序执行期间都有效。

5.局部变量使用之前,必须要手动初始化吗?

Yes.

6.如果不手动指定成员变量的值,系统将会自动初始化。那初始化的规则是?

数据类型 默认值
int 0
float/double 0.0
char ‘\u0000’
boolean false
引用类型 null

构造方法的名称必须保持跟类名一致吗? 是的
构造方法有没有返回值? 无,谢谢
构造方法何时,被谁调用 在创建对象时被该对象所属的类调用。
构造方法中能够存在return 不能,谢谢
系统一定会给我们提供无参构造吗 不一定。当我们自己创建了构造器时,系统将不再创建无参构造器。

本类中如何调用构造方法?有什么要求 代码见
package的作用

  • 管理Java文件
  • 解决同名文件冲突

Import 用于导入包还是类 导入包
简述private, default, protected,public的含义

  • public :公共权限

    作用域:可以被任意类访问。

  • protect : 受保护的权限

    作用域:可以被同包类访问,如果不是同包,必须是该类的子类才能访问。

  • default : 同包权限

    作用域:只能被同包的类访问

  • private:私有权限

  • 作用域:只能在本类中使用

getter和setter必须提供吗,一般是用来做什么?

不必,当成员变量用private修饰无法直接调用时,我们可以通过public的getter和setter方法对其进行赋值、读取及其他操作。

继承有什么好处,使用什么关键字实现

好处:提高代码的复用性、维护性,让类与类产生联系,是多态的前提。关键字:extends

Java中存在多继承吗?

没有,只支持多层继承,接口多实现。

如果一个类没有显示继承任何类,那么该类有父类吗?是谁?

有父类,是object类。

重写指的是什么?

子类继承父类的方法,并对该方法的实现过程进行重新编写,返回值和形参都不改变。

热门文章

暂无图片
编程学习 ·

XTransfer外贸收款账户是如何收费的?

XTransfer外贸收款账户是如何收费的?很多朋友很关心这个问题。XTransfer账户的注册和认证是免费的,也没有年费和管理费。但是每家合作的银行政策不同,对于入账有的收费,有的免费,下面就给大家罗列一下具体的项目是如何收费的。如果您还没有注册XTransfer账号,请点击【XTr…
暂无图片
编程学习 ·

自定义注解 通过AOP切面的方式实现所有业务实力类的变更记录

自定义注解 通过AOP切面的方式实现所有业务实力类的变更记录需求:重点难点整体思路:app_changelog 存放变更记录的表自定义注解changeLog自定义注解FieldDescpojo类切面方法切面关键在于通过反射获取对应的类、方法和属性、属性值 需求: 实力类的属性值在修改时变化了 ,…
暂无图片
编程学习 ·

selenium 点击按钮,打开新标签页后,无法定位新标签页的元素

使用selenium爬取页面时,在弹出浏览器界面上我们明明看到已经自动到达新标签页,却无法定位新标签页的元素原因:实际上程序并没有随浏览器上所看的标签页改变而该改变,也就是说我们在浏览器上看到已经到达标签2,实际上程序默认的还是标签1解决方案:browser.switch_to_wind…
暂无图片
编程学习 ·

c++ string操作

c++ string操作 #include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std;void test01() {///*string& operator=(const char* s)* string& operator=(const string &s)* string& operato…
暂无图片
编程学习 ·

js实现复制并能保留原格式粘贴

使用textarea能粘贴的时候保留原格式。使用input粘贴的时候格式会丢失。const input = document.createElement(textarea);document.body.appendChild(input);input.value = “复制我呀”;// input.setAttribute(value, "复制我呀");input.select();if (document.ex…
暂无图片
编程学习 ·

Linux上远程命令

远程Linux: ssh -l root 192.168.0.1 -l 用户 远程成功了在输密码 远程Windows: rdesktop - u tedu -p tedu 192.168.0.10:3389 -u 用户 -p 密码
暂无图片
编程学习 ·

Vue父组件调用子组件的方法

1.子组件使用ref,父组件直接调用(推荐)<child ref="mychild"></child>this.$refs.mychild.childMethod("嘿嘿嘿");2.子组件注册监听事件,父组件调用$emit触发this.$refs.mychild.$emit(childMethod,嘿嘿嘿) // 方法1:触发监听事件//子组件注册…
暂无图片
编程学习 ·

Linux彻底卸载Nginx

本机环境:centos7使用yum安装的Nginx1.首先输入命令 ps -ef | grep nginx检查一下nginx服务是否在运行。[root@localhost /]# ps -ef |grep nginx root 3163 2643 0 14:08 tty1 00:00:00 man nginx root 5427 1 0 14:50 ? 00:00:00 nginx: m…
暂无图片
编程学习 ·

防静电塑料包装

■ 简介防静电袋可以最大程度地保护静电敏感元器件免受潜在静电危害,它们独特的法拉第电笼构造形成“感应罩”效应,以达到对袋内物品的屏蔽和防静电功效,外层耐磨金属涂层和内层乙烯材料,经复杂工艺处理对静电屏蔽保护做到尽善尽美,半透明热封袋型的工艺,可清楚辨认袋内的…
暂无图片
编程学习 ·

MyBatis 结构拆解

MyBatis 的执行流程大概可以拆分为如下几个部分:初始化配置解析 mybatis-config.xml 文件 根据 mybatis-config.xml 文件中的配置,依次解析 Mapper.xml 文件 将 Mapper.xml 与 接口 通过 xml 文件的 namespace 属性来进行绑定**【重点】**;该篇有介绍 XML 文件和 接口进行绑…
暂无图片
编程学习 ·

当你忘记网站上的密码时怎么办?Python如何快速帮你找回?

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。现如今浏览器可谓是五花八门,火狐、UC、360、QQ 这些浏览器不论美观还是所谓的安全方面都做的很符合我们需求。但如果你的工作与 IT 挂钩,无疑 Chr…
暂无图片
编程学习 ·

软件构造复习2

这里写目录标题软件生命周期和配置管理设计软件的两个基本模型模型其他模型Agile Development 软件生命周期和配置管理 (软件开发,从0到n,遵循什么过程?) 设计软件的两个基本模型模型 线性过程:从底层/需求开始,下一步是上一步的基础 迭代过程:回头解决不合理之处 其他…
暂无图片
编程学习 ·

jQuery 的实现原理

(function(window, undefined) {})(window); jQuery 利用 JS 函数作用域的特性,采用立即调用表达式包裹了自身,解决命名空间和变量污染问题 window.jQuery = window.$ = jQuery; 在闭包当中将 jQuery 和 $ 绑定到 window 上,从而将 jQuery 和 $ 暴露为全局变量
暂无图片
编程学习 ·

HashMap的高效遍历方式

HashMap<Integer,Integer> map = new HashMap<>(); 第一种(直接keySet()或者values()遍历): for(Integer key:map.keySet()){System.out.println("key:"+key+",value:"+map.get(key)); }第二种(使用entrySet,底层也使用的迭代器,高效):…
暂无图片
编程学习 ·

虚拟养老院,新型养老模式,究竟有什么作用呢?-新导智能

提到“虚拟养老院”很多人是不是榜首想到的是好像黑客帝国相同的“虚拟现实”,难道虚拟养老院是把老人冷冻催眠,然后让他们在-个虚拟的精力世界里边实现养老?其实,虚拟养老院没有这么夸大,它只是基于“居家养老”理念提出的一种利用现代化通讯和服务体系建立的养老模式。在…
暂无图片
编程学习 ·

从大量文件中找到指定文件并执行指定文件操作

从大量文件中找到指定文件并执行指定文件操作Linuxwindows Linux 应邀对一些文件进行处理,如图所示目录结构就是a-1.bmp, a-2.bmp, ... , a-49.bmp,其他字母同理,前面的索引从a-z,另外还有0. 要求是取出所有的2号索引为1,2,3,4,5,6的文件。 Linux有个极强大的命令find,不仅…
暂无图片
编程学习 ·

返回什么才好c++编程题第三周

此题主要考察this指针,以及引用作左值 #include using namespace std; class A{ public: int val; // 在此处补充你的代码 (需要我自己注意的是对象已经被分配了空间了,构造函数和析构函数只是起到一个修饰或者清洁的作用) A(int x = 123 ) { val = x; …
暂无图片
编程学习 ·

linux笔记(三)Linux的基本命令

1 cd 切换目录2 ls 查看目录下的内容3 mkdir 创建文件夹4 touch 创建文件5 cp 复制 文件和文件夹6 mv 剪切移动 文件夹和文件7 rm 删除1 cd 切换目录带/ 绝对路径 ./ ../ ../../ 相对路径cd - 切换到上次所在的目录cd ~ 回到当前用户的家目录 /root /homecd - 切…