2019.07.28习题总结【java基础】

it2022-05-06  18

2019.03.14

java的跨平台性,是通过不同系统都有对应的JVM实现的【jvm是不跨平台的】,java程序只需要由 编译器编译成.class【字节码】文件,就可实现跨平台执行【一次编写,到处运行】 Java程序在执行时.JVM把Java字节码解释成机器码 JVM是Java Virtual Machine(Java 虚拟机 )的缩写

2.访问权限控制从最大权限到最小权限依次public>protected>默认(default包访问权限)>private 3.正则表达式 是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 4.什么是正则表达式的贪婪与非贪婪匹配 如:String str=“abcaxc”; Patter p="abc"; 贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。如上面使用模式p匹配字符串str,结果就是匹配到:abcaxc(abc)。 非贪婪匹配:就是匹配到结果就好,就少的匹配字符。如上面使用模式p匹配字符串str,结果就是匹配到:abc(ab*c)。 编程中如何区分两种模式 默认是贪婪模式;在量词后面直接加上一个问号?就是非贪婪模式。

【上图在第三行编译失败】 Java中静态变量只能在类主体中定义,不能在方法中定义。 静态变量属于类所有而不属于方法。静态变量的调用【类名+变量名】 局部变量也不能添加protected, private, public这些访问权限修饰符 但局部的变量可以用final修饰。 Java中没有静态局部变量

接口中的方法【抽象方法+匿名Default方法】

java中的抽象方法就是以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。 Default方法是指,在接口内部包含了一些默认的方法实现(也就是接口中可以包含方法体,这打破了Java8之前对接口的语法限制),从而使得接口在进行扩展的时候,不会破坏与接口相关的实现类代码。

7.一个类可以有不同的构造方法,但是方法名都必须与类名相同,这些不同的构造方法互为重载

模块开发的原则,模块内高内聚,模块间低耦合。 内聚,自己完成某件事的能力。 耦合,类与类之间的关系

编译错误,一般是语法有问题,程序在编译时就产生错误。不能编译成.class文件,比如包名或内部类名写错等等。编译错误一般是一些语法错误,编译器检查的出来的

运行错误,就是程序通过编译,在运行时出错,一般是逻辑上的问题,如数组超界、空指针等。运行错误是逻辑错误,只有通过运行,计算,才能发现的错误

Object类中方法: protected Object clone()创建并返回此对象的一个副本。 boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。 protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 class getClass()返回此 Object 的运行时类。 int hashCode()返回该对象的哈希码值。 void notify()唤醒在此对象监视器上等待的单个线程。 void notifyAll()唤醒在此对象监视器上等待的所有线程。 String toString()返回该对象的字符串表示。 void wait()在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 void wait(long timeout)在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。 void wait(long timeout, int nanos)在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

三目运算符,(exp1)?(exp2):(exp3) 当exp1为true时个表达式结果为exp2 当exp1为false时整个表达式结果为exp3

类变量在不设置初始值时,会进行默认值赋值, 局部变量和final声明的变量则必须进行初始化,不会进行默认值赋值。 Java中基本数据类型默认值为: short: 0   int: 0   long:0   float: 0.0   double: 0.0   char:0   String:null

13 .Boolean b2=(“a”==”a”); //比较s1和s2两个对象的存储地址是否相等,明显两者分别存储在不同的地址,所以返回:false。


最新回复(0)