ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java期末复习笔记1

2021-01-01 20:03:09  阅读:146  来源: 互联网

标签:Java 复习 构造方法 子类 期末 父类 方法 final


第一章

  1. 面向过程和面向对象程序设计语言的区别
    面向过程:给予解决问题的步骤的视角,将程序划分为单个功能,程序由函数+数据结构组成,两者独立分离
    面向对象:以人观察世界的视角
  2. 编译执行和解释执行语言的区别
    编译执行的语言:将源代码转化成机器代码,然后直接交给操作系统执行,程序是作为一个整体来运行的
    解释执行的语言:读一句执行一句不需要整体编译链接,与操作系统的相关性较小
  3. java的各个版本,javase javaee javame
    JavaSE 桌面Java程序,基础包
    JavaEE (Enterprise Evvironment) 企业级Java程序
    JavaME (Mobile Environment) 移动设备和嵌入式设备Java开发
  4. 什么是java虚拟机?工作原理是什么?jdk和jre的区别?
    执行Java代码的虚拟机器
    原理:把字节码解释成具体平台的机器指令执行
    JDK(Java Development Kit)(Kit成套设备) Java开发工具包
    JRE(Java Runtime Environment): 运行时环境

第二章

  1. 标识符的命名规则
  2. 变量使用三部曲:声明,赋值,使用
  3. 如何定义常量?
    final标识符
  4. 基本数据类型(8种),占用的空间大小,给定一个常数,默认的类型,浮点数的两种表示方法
    byte 1字节
    int 4字节
    long 8字节
    float 4字节
    double 8字节
    Boolean 不确定(1字节或4字节,具体看JVM)
  5. 基本数据类型的转换,向上和向下

层次高的类型转换成层次低的类型时,要加强制转换符,但可能造成降低精度
第三章 类和对象
(一)类和对象的基本概念

  1. 面向对象语言的基本特点
    封装性
    继承性
    多态性
  2. 什么是类和对象,什么是封装性
    类:同一类事物的共同特性的抽象定义
  3. java中所有对象都是引用类型。(内存分析)
    Java中除了基本类型以外的变量类型都是引用类型
  4. 对象的创建和使用(new)
    Product p = new Product(new String(“bag”), 56.9, 90);
  5. JVM内存分配,堆、栈、数据、代码
    堆: 存放new出来的对象
    栈: 存放局部变量和引用变量
    data segment: 存放静态变量和字符串常量
    code segment: 存放代码

方法执行有其内存栈,所有本地变量(包括形参)按顺序压入栈中(后进先出)
方法执行结束时其内存栈也将自然销毁
6. java对象生命周期,什么是gc?工作原理?好处?
7. 构造函数作用,定义要求。默认构造方法和对类成员的初始化。构造和初始化顺序(4步)。
new初始化对象的顺序:
(1) 申请内存空间,为新对象分配空间并初始化,所有基本类型数据设置成了默认值(如,整数类型是0,布尔型为false),而引用类型则被设置成null;
(2) 执行显示初始化;(即指定默认值: private double discount = 1.0)
(3) 执行构造方法;
(4) 将对该对象的引用赋值给引用变量。
8. 对象变量的传递,值传递和引用传递

  1. 什么是方法重载?要求是什么?和方法重写有什么区别?
  2. this引用的作用
  3. 静态数据成员和静态方法成员。静态成员和普通成员的互相访问

(二)包的概念
12. 什么是包?如何定义包?命名规则是什么?如何使用包?哪些常用包?哪个包不显式导入就可使用?
包: 类的组织形式
命名规则:由大到小(域名的倒写)
import 可以导入包
lang 包自动导入
注意:嵌套的包之间无任何关系
13. 使用jar打包(考试不要求)

[补充]Java数组
声明数组变量

  1. ElemType arr[];
  2. ElemType[] arr;
    对于类的数组, 实际上是声明了一个引用变量的数组
    (三)继承的概念*****
    什么是继承?带来的好处是什么?
    通过继承,子类自动拥有父类的所有普通成员
    父类构造方法不能被子类继承
    子类通过super(参数)调用父类构造方法
    若子类构造方法中没有显式调用父类构造方法,则系统默认调用父类无参数的构造方法;若父类中没有定义无参数的构造方法,编译出错

注意:谨慎使用protected
因为它相当于允许子类直接操作父类成员,破坏了父类的封装性,因此,应当优先使用父类的公有成员函数来操作子类中的父类对象

  1. 如何实现继承?子类成员和父类成员有哪三种关系?
    extends 父类
    新增,重用,重写
  2. 什么是重写?有哪些语法要求?
    重写(Override)子类覆盖父类的同名方法
    必须和被重写方法有相同的名称、参数列表
    两小于等于:1)子类方法的返回值类型比父类方法的返回值类型更小(子类)或相等;子类方法声明抛出的异常类要比父类方法声明抛出的异常类更小(子类)或相等。
    一大于等于:子类方法的访问权限要比父类方法的访问权限更大或相等。即,重写方法不能使用比被重写方法更严格的访问权限
  3. super关键字的作用什么?
    指向父类
  4. 子类的构造函数的执行过程。能否继承父类?如何显式调用父类构造函数?
public class FatherClass {
		private FatherClass() { //private 阻止了被继承,因为子类无法调用父类的构造函数
	}
	public FatherClass getFather() {
		return new FatherClass();
	}
}
  1. 类成员的可访问性。(4个关键字)

  2. 对象转型,向上,向下,instanceof关键字。
    向下转型需要强制转化
    向上转型不需要
    引用 instanceof 类名:判断该引用所指向的对象是否属于该类或该类子类的对象
    ==

  3. final方法和final类的含义
    阻止方法(final方法)被重写(override)
    final类:阻止类(final类)被继承
    一个final类的所有方法都是final方法

  4. 如何给java类加文档注释,如何生成文档(考试不要求)

标签:Java,复习,构造方法,子类,期末,父类,方法,final
来源: https://blog.csdn.net/qq_45591813/article/details/112064904

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有