实例变量

Java面试题库及答案解析

核能气质少年 提交于 2019-12-20 23:48:06
1、面向对象编程(OOP)有哪些优点? 代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性。 2、面向对象编程有哪些特性? 封装、继承、多态、抽象 封装 封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下的对象赋予了不同的访问权限。 下面列出了使用封装的好处: 通过隐藏对象的属性来保护对象内部的状态。 提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。 禁止对象之间的不良交互提高模块化。 继承 继承给对象提供了从基类获取字段和方法的能力。继承提供了代码的重用,也可以在不修改类的情况下给现存的类添加新特性。 多态 多态是编程语言给不同的底层数据类型做相同的接口展示的一种能力。一个多态类型上的操作可以应用到其他类型的值上面。 抽象 抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。Java支持创建只暴露接口而不包含方法实现的抽象的类。这种抽象技术的主要目的是把类的行为和实现细节分离开。 3、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程

Python学习笔记——Python起步

被刻印的时光 ゝ 提交于 2019-12-20 14:44:32
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本章将对 Python 的主要特性做一个快速介绍,这样你就可以借助以前的编程经验识别出熟悉的语言结构,并立刻将 Python 付诸使用。虽然细节内容会在后续的章节中逐一讲解,但是对整体的了解可以让你迅速融入到 Python 中。在Python解释器所有的交互示例中, 你会看到 Python 的主提示符( >>> )和次提示符( ... )。主提示符是解释器告诉你它在等待你输入下一个语句,次提示符告诉你解释器正在等待你输入当前语句的其它部分。Python 有两种主要的方式来完成你的要求:语句和表达式(函数、算术表达式等)。语句使用关键字来组成命令,类似告诉解释器一个命令。你告诉 Python 做什么,它就为你做什么,语句可以有输出,也可以没有输出。表达式没有关键字,它们可以是使用数学运算符构成的算术表达式,也可以是使用括号调用的函数。它们可以接受用户输入,也可以不接受用户输入,有些会有输出,有些则没有。(在 Python 中未指定返回值的函数会自动返回 None, 等价于 NULL) 程序输出,print 语句 有些语言, 比如 C, 通过函数输出数据到屏幕,例如函数 printf()。然而在 Python 和大多数解释执行的脚本语言,使用语句进行输出。很多的 shell 脚本语言使用 echo

java访问修饰符

依然范特西╮ 提交于 2019-12-20 12:49:57
java中的修饰符分为类修饰符,字段修饰符,方法修饰符。根据功能的不同,主要分为以下几种。 1、权限访问修饰符 public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。 包外 子类 包内 类内 public yes yes yes yes protected no yes yes yes default no no yes yes private no no no yes 2、final修饰符 final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后该方法不能被改变,也就是重写。 3、abstract修饰符 abstract是抽象的意思,用来修饰类和方法,修饰类后,该类为抽象类,不能被实例化,必需进行扩展。修饰方法后,该方法为抽象方法必须被子类重写(override)。 4、static修饰符 static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例。 类修饰符 Public 可以从其他类中访问 obstract 本类不能被实例化 final 不能再声明子类

Shell脚本入门-6

廉价感情. 提交于 2019-12-20 11:26:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> (一)Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr, expr 最常用 。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作 。 例如,两个数相加( 注意使用的是 反引号 ` 而不是单引号 ' ): #!/bin/bash val=`expr 2 + 2` (注意: 2和'+'号 之间要有空格,不然结果为 2+2, 而不是4) echo "两数之和为 : $val" 执行脚本,输出结果如下所示: 两数之和为 : 4 两点注意: 表达式和运算符之间要有空格 ,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。 完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号 ,在 Esc 键下边。 (二)算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: 运算符 说明 举例 + 加法 `expr $a + $b` 结果为 30。 - 减法 `expr $a - $b` 结果为 -10。 * 乘法 `expr $a \ * $b` 结果为 200。 / 除法 `expr $b /

Python3 循环语句

瘦欲@ 提交于 2019-12-20 02:49:37
Python中的循环语句有 for 和 while,与C/C++的循环语句略有不同: Python循环语句的控制结构图如下所示: while 循环 Python中while语句的一般形式: while 判断条件: 语句 执行 Gif 演示: 同样需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。 以下实例使用了 while 来计算 1 到 100 的总和: 实例 #!/usr/bin/env python3 n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter += 1 print("1 到 %d 之和为: %d" % (n,sum))    执行结果如下: 1 到 100 之和为: 5050 无限循环 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下: 实例 #!/usr/bin/python3 var = 1 while var == 1 : # 表达式永远为 true num = int(input("输入一个数字 :")) print ("你输入的数字是: ", num) print ("Good bye!")    执行以上脚本,输出结果如下: 输入一个数字 :5 你输入的数字是: 5 输入一个数字 :    你可以使用 CTRL+C

初识C语言 (四)

為{幸葍}努か 提交于 2019-12-20 00:11:50
分支结构 if语句 C语言中的分支结构语句中的if条件语句,简单if语句的基本结构如下: 其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。 其过程可表示为下图 实例: if(results == 100) //results为所考成绩 { printf("%s\n", "买玩具"); } 注释:if()后面没有分号,直接写() if-else语句 简单的if-else语句的基本结构如下: 其语义是:如果表达式的值为真,则执行代码块1,否则执行代码块2。其执行过程可表示为下图: 实例: if(results == 100) //results为所考的成绩 { printf("%s/n", "买玩具"); } else { printf("%s\n", "没有奖励"); } 注释:if没有()后面没有分号,直接写{},else后面也没有分号,直接写{} 实例: #include <stdio.h> int main() { int year = 2014; //今年是2014年 //补全一下代码 if((year%4 == 0 && year%100 != 0) || year%400 == 0) { printf("%s\n", "今年是闰年"); } else { printf("%s\n", "今年是平年"); } return 0; } 输出结果: 今年是平年

Python3 函数

纵饮孤独 提交于 2019-12-19 04:54:48
函数的功能: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率 。 你已经知道Python提供了许多内建函数,比如print()。 也可以自己创建函数,这被叫做 用户自定义函数 。 定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接 函数标识符名称 和 圆括号 () 。 任何传入参数和自变量必须放在 圆括号 中间,圆括号之间可以用于定义 参数 。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 函数内容以 冒号 起始,并且 缩进 。 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None 。 语法 Python 定义函数使用 def 关键字,一般格式如下: def 函数名(参数列表): 函数体 默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。 实例 让我们定义和使用一下函数,更复杂一点,函数中带上参数变量; >>> def hello(): print('Life is short! Use Python.') >>> hello() Life is short! Use Python. >>> 函数调用   定义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构。

Servlet 单例多线程

大城市里の小女人 提交于 2019-12-17 14:34:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 深入研究Servlet线程安全性问题 http://www.cnblogs.com/gw811/archive/2012/09/07/2674859.html Servlet 单例多线程 Servlet如何处理多个请求访问? Servlet容器默认是采用单实例多线程的方式处理多个请求的: 1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例); 2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的<Connector>设置线程池中线程数目,初始化线程池通过web.xml,初始化每个参数值等等。 3.当请求到达时,Servlet容器通过调度线程(Dispatchaer Thread) 调度它管理下线程池中等待执行的线程(Worker Thread)给请求者; 4.线程执行Servlet的service方法; 5.请求结束,放回线程池,等待被调用; (注意:避免使用实例变量(成员变量),因为如果存在成员变量,可能发生多线程同时访问该资源时,都来操作它,照成数据的不一致,因此产生线程安全问题) 从上面可以看出: 第一:Servlet单实例,减少了产生servlet的开销; 第二

Java相关知识2

♀尐吖头ヾ 提交于 2019-12-17 05:32:00
11、是否可以从一个static方法内部发出对非static方法的调用? 不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。 12、Integer与int的区别 int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。 例如:要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。 在Hibernate中,如果将OID定义为Integer类型

Python 变量类型

回眸只為那壹抹淺笑 提交于 2019-12-16 20:24:08
Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 等号(=)用来给变量赋值。 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如: #coding=utf-8 #!/usr/bin/python counter = 100 # 赋值整型变量 miles = 1000.0 # 浮点型 name = "John" # 字符串 print counter print miles print name 尝试一下 » 下载 以上实例中,100,1000.0和"John"分别赋值给counter,miles,name变量。 执行以上程序会输出如下结果: 100 1000.0 John 多个变量赋值 Python允许你同时为多个变量赋值。例如: a = b = c = 1 以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。 您也可以为多个对象指定多个变量