JavaSE 知识小总结

  1. 写出一个 &&  || 的使用场景(需求)并写出对应的代码;
    1. 逻辑与逻辑或 : 主要用于组合条件判断
    2. 特点:
      • 运算符两边类型都为boolean类型
      • 运算符运算结果也为boolean类型
      • 具有短路行为
    3. &&  
      • 两边结果为true  结果为true
      • 如果前面为false  后边不会运算
    4. ||   
      • 只要有一边的结果为true 结果为true
      • 如果前面为true   后面不会运算
    5. 判断3  是否小于5 并且 大于1;
      • 3<5 &&  3> 1
    6. 判断3 是否大于5 或者小于 1
      • 3>5|| 3<1>

 

  1. 写出switch的语法和使用场景
    1. switch条件选择 语法结构

swtich(值/变量/表达式){//java规定的类型:  枚举

case 值 : 功能语句; break;

...........

default 功能语句 ;break;

}

  1. for循环的语法结构和执行流程

for(初始A;条件判断B;循环后操作C){

      //循环体C

}

初始化语句会执行一次;只会执行一次

整个for循环结构中的  A 只会执行一次

      循环第一次:AàB(true)àDàC

  第二次:      B(true)àDàC

  第三次:      B(true)àDàC

  第n次:        B(false)  结束整个循环

  1. 使用循环遍历打印一个数组集合(数组和集合自己定义)
    1. 数组
      • int[] arr = {1,2,3,4,45,5,6,7,7}

for(int i = 0;i<=arr.length-1;i++){

Sytem.out.println(arr[i]);

}

    1. 集合
      • ArrayList list = new ArrayList();

Collections.addAll(list,1,2,3,4,5,6,7,8,10);

for(int i = 0;i < list.size();i++){

System.out.println(list.get(i));

}

  1. 说说你认为的方法覆写和方法重载的区别(请注意不要只在乎语法细节而是要多考虑他们存在的意义)
    1. 方法覆写:

父类方法不满足子类需求的时候,需要覆写 可以通过@Override 验证是否是覆写

方法覆写的细节;

  1. 子类覆写方法权限不能低于父类
  2. 方法签名必须一致
  3. 返回值类型,必须与父类相同或者为父类返回值类型的子类类型
    1. 方法重载:

在同一个类中,方法名字相同参数列表不同,方法名命名见名知意思:为了方便记忆

  1. Object类中有那些方法可以被覆写有什么意义
  1. finalize():垃圾回收机制回收对象的时候会主动调用的方法
  2. toString();打印对象的字符串描述,静态属性
  3. equals();比较对象
  4. hashCode + equals 验证对象放入HashSet集合中,判断元素是否重复
  1. 谈谈方法的值传递和值引用有什么区别

方法参数传递

基本数据类型 : 传递的是值的本身

引用数据类型 : 传递的是对值的引用

  1. 谈谈对于this关键字的理解
  1. 概念:this 指代当前对象
  2. 判断this指代的是谁

官方 : this所在的函数正在被谁调用,this就指代谁

民间 : this当前哪个对象持有this就指代谁

  1. 特点:this不能写在静态方法中,this是对象级别的
  2. this的作用:
  1. 区分局部变量与字段之间的二义性
  2. this作为参数传递
  3. this作为返回值
  4. this调用其他的普通方法
  5. this在构造方法的第一句调用其他的构造方法
  1. super的作用有哪些
  1. 概念 : super在子类中表示父类的对象
  2. super的作用

区分子类父类字段的二义性

super调用父类的非私有的字段及方法

super在子类构造方法的第一句调用父类的构造方法

  1. 特殊用途及分析

用途

在子类的构造方法中,如果没有显示的写出对于父类构造方法的调用,那么会隐式 的调用父类的,无参数的构造方法

分析

  1. 为什么javaBean必须提供一个无参数的构造方法 :

特殊用途已做解释

2.图例解释:为什么可以用到父类的私有的字段:

通过getset方法存值取值因为子类的构造方法第一句,一定会用到父类的构造方法,意味着象this,将父类的对象与 子类构造方法,创建的对象,打包在了一起

  1. 继承:为什么能够继承到父类的东西因为:

子类构造方法,一定会用到父类的构造方法!

 

  1. 谈谈对static关键字的理解
  1. 概念 : static关键字,静态的修饰符:类级别的修饰符
  2. static修饰的了内容

字段:该字段被该类的所有对象共享

普通方法:工具方法,通过类名.方法名使用

  1. static 静态加载:会在加载的时候初始化执行代码
  2. static类级别的修饰符理解
    1. static修饰的字段:应该通过类名.字段名访问
    2. static修饰的字段:应该通过类名.方法,该字段被该类的所有对象共享
  3. 对象级别
    1. 非static修饰的字段:对象名.字段名
    2. 非static修饰的字段及方法,当创建对象时候,独属于每每一个对象,每有被该类的所有对象共享

 

  • 静态上下文不予许访问非静态的变量及方法
  • 非静态上下文,是否可以访问静态上下文:   可以

 

  1. 谈谈你对面向对象编程的认识理解
  1. 面向对象编程中有两个非常重要的概念类和对象
  2. 类 : 描述不具体的事物,抽象的不具体的
  3. 对象:描述的是一个具体的事物
  4. Java设计希望在计算机系统体现现实生活中,具体的个体及对象与对象之间的关系,  从而构建计算机系统
  5. 对于事物的考虑: 特点: 静态属性  动态行为
  6. Java语言中设计了描述类这一类事物,字段描述静态属性,普通方法描述动态行为
  7. 通过类:即可创建一个对象
  8. 核心 : Java代码中体现使用对象,及对象与对象之间如何构建关系
  9. 除了基本的面向对象的编程思想: 对于面向对象的语法也应该有一定的认识,例如 三大特等[封装继承多态],匿名对象,构造方法,关键字static final this super.枚举,接口,    单利模式 ,抽象,多态!都要掌握
  10. Java代码中的创建的对象,该对象必然具有默认类型,而本身也是一个数据,因而,既 要看到对象的使用,也要直到本质对于数据的处理
  1. 列出你学过的(还记得的所有)Java中的类

 

Arrays GUI组件类  包装类八个,System  Runtime Math BigInteger BigDecimal Random ThreadLocalRandom UUID Java.util.Date DateFormat SimpleDateFormat String StringBuffer StringBuilder 异常体系中的类 Thread Runnable List - ArrayList LinkedList Set-HashSet TreeSet Map HashMap TreeMap  HashTable Properties Collections IO流中的类   网络编程中的类

 

  1. List/Set/Map的区别,并分别说一个具体的示例要用到List/Set/Map的情况
  1. List 接口:有序重复,属于Collection体系,实现了Iterable可以使用迭代器遍历
  2. ArrayList集合 java中用于存储数据,内部实现基于数组:查找,修改比较快
  3. LinkedList集合 java中用于存储数据,内部基于变量的链表结构实现:添加删除比较快
  4. Set 接口:无序[不保证添加顺序与迭代顺序一致] 不重复
  5. Map:接口:键值对:不属于Collection体系,没有实现Iterable 不能使用迭代器
  1. 写出判断一个字符串是否是一个合法的手机号码的代码

String regex = 1[0-9]{};

15982889886.matches(regex);

  1. Map的遍历方式及实现原理

keySet

EntrySet

内部实现原理:

基于Hash表[就是一个数组],及链表接口,在Java8以后采用红黑树的方式,存储数据

  1. 谈谈你对抽象类与接口的理解
  1. 抽象概念:模板类
    • abstract修饰的类就是抽象类:特点,不能创建对象
    • abstract修饰的方法就是抽方法:特点没有方法体
    • 作用:模板类,基类根类,主要目的提取公共属性,让其他类来继承
    • 支持多态[注意编译时和运行的过程]
  2. 接口interface 修饰的一个就是接口,编译生成独立的字节码文件
    • 作用规范定义类的标准
    • 内部可以有常量字段及抽象方法
    • 一个类可以实现多个接口
    • 接口与接口之间支持继承,及多继承
    • 支持多态写法[注意编译时和运行的过程]

转载于:https://my.oschina.net/u/4083693/blog/3028815

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值