【Java】SE总结

news/2024/11/20 23:18:10/

目录

计算机体系

计算机的组成

CPU的工作原理

Java中的语句

Java中,能出现语句的位置有哪些

语句何时被执行

 语句的执行触发大体有三种

类的加载、对象的实例化、方法的调用

什么时候进行类的加载

什么情况下类被用到

类加载时语句的执行顺序

对象实例化

和对象实例化有关的语句

Java中的数据

直接接触到的数据

内存中的数据被抽象成Java语句中的哪些概念

数据在内存中的位置

 变量的存储

 数据有哪些

Java中的语法

类的职责

赋值语句

几个重要关键字的作用

 面向对象编程

面向对象的三大特征

方法的重写


计算机体系

计算机的组成

CPU的工作原理

从哪里读

        1、按顺序度,一条一条读取                ——>                顺序执行语句

        2、按照指定地址,读取                       ——>                分支执行语句、循环执行语句

程序 = 语句 + 数据(粗略)

Java中的语句

Java中,能出现语句的位置有哪些

1、方法的内部(不区分哪种方法,除了抽象方法)

2、类的内部,作为属性定义时,赋值语句也可以出现

        class  A {

                int  a  =  hello();                        

        }

        定义属性  a  时,执行  hello  方法(语句)

3、各种各样的代码块

        构造代码块、静态代码块

4、出现在构造方法中

注:像  import java.util.Scanner 的这种导入包的操作不是语句

语句何时被执行

方法中的语句,一定是被调用时,才会执行

1、静态方法,光有类,就可以开始调用了

2、普通方法,必须先通过类实例化出对象,才能通过对象去调用

3、唯一的特殊方法时 main 方法,是被JVM调用的,我们看不到调用位置

 语句的执行触发大体有三种

1、某个类被加载时,会触发一批语句的执行

2、某个类实例化对象时,会触发一批对象的执行

3、某个类的方法被调用时,会触发一批语句的执行

类的加载、对象的实例化、方法的调用

什么时候进行类的加载

 类被用到并且类还没有被加载过

 注:类的加载往往只执行一次

什么情况下类被用到

1、用到了类中的静态属性或者类里的静态方法时

2、要用该类实例化对象时

3、用到子类,会触发用到父类(包含接口)

类加载时语句的执行顺序

静态属性定义时的赋值语句、静态代码块中的语句。执行顺序按照书写顺序依次执行

父类的所有语句执行完,才能执行子类的语句

对象实例化

对象的实例化可能会触发类的加载,当类已经加载过后,对象的实例化就不会触发类的加载

类的加载完成后,可能紧跟着对象的实例化

和对象实例化有关的语句

1、属性定义时的赋值语句

2、构造代码块中的语句

3、构造方法中的语句

执行顺序:

        属性定义和构造带吗,按照书写顺序执行,之后才执行构造方法中的语句

        子类实例化时,必须要求父类的所有实例化相关语句全部完成后,才开始执行子类的

Java中的数据

直接接触到的数据

1、基本类型

byte、short、int、long

char

float、double

boolean

2、引用类型

class 类型

接口类型

数组类型

3、字面量

内存中的数据被抽象成Java语句中的哪些概念

1、变量

2、数组中的元素

3、对象

数据在内存中的位置

JVM中,针对一个Java进程,分为栈区、堆区、方法区

对象在堆区上

引用的区域不确定,需要有其他条件来明确

类存在于方法区

局部变量:存在于该方法执行时,创建的栈帧中,总的里说是栈区

对象的属性:存在于属性附着的对象上,总的来说是堆区

类的静态属性:存在于静态属性附着的类上,总的来说是方法区

数组的元素存在于元素附着的数组对象上,所以存在于堆区

方法的某次执行时需要的数据,以栈帧的形式,放置在栈区

 变量的存储

1、基本类型

byte、short、int、long                        1、2、4、8字节,按照指定规则,把数字保存起来

float、double                                        4、8字节,以浮点数保存(有精度损失)

char                                                       2字节,以UTF-16方式保存,保存的Unicode编码

boolean                                                无固定

 2、引用类型是什么

引用类型不像基本类型,保存的数据是无法直接使用的,而是间接使用的

引用类型可以存对象地址,但不要求必须存对象的地址

引用中存的是找到对象的 “ 线索 ” ,逻辑上,引用是指向对象的

 数据有哪些

程序员可以直接接触到的:变量、字面量、数组元素

程序员无法直接接触到的,但是使用非常频繁的

        1、对象(属性)

        2、类(静态属性、类相关的方法、父类信息)

Java中的语法

Java代码,是以类为基本单元进行组织的

包的声明:package ... ;

类的导入:import ...;

类的定义:一个Java文件中最多只能有一个public类,类名和文件名相同

类的职责

1、作为静态属性、静态方法的存在位置

2、作为构造对象的模板(属性、构造方法、方法)

3、作为被继承的模板(属性、构造方法、方法)

4、抽象类和接口是其的特殊化

赋值语句

赋值语句等号的左边是一个内存空间(变量、数组元素),等号的右边只要是个值就行

1、显式赋值

a = ...;

a[0] = ...;

 2、隐式赋值

方法的调用,隐含着,形参 = 实参的赋值     add(1,2)                add(int a,int b){...}

                                        a = 1;b = 2;

方法的返回,隐含着,返回值 = return 的值

        int add(...){...    return 1;}        隐含着int returnValue = 1;

方法调用后赋值, int c = add(1,2);        c = ...;

3、赋值的基本要求

等号两边的类型完全一致或者等号两边的类型,具备转换的可能性        

        1)可以直接转换的

              int -> long、float -> double、long -> double                逻辑上小范围赋值给大范围

              String -> Object、int[] -> Object

        2)不能直接转换,但是可以强制转换的

              逻辑上大范围赋值给小范围

              float -> int、double -> float、Object -> String、Object -> int[]

几个重要关键字的作用

static

1、静态导入

2、全部出现在类的内部,方法的外部;与该类的对象解绑,只和类有关系

      静态属性、静态方法、静态代码块、静态内部类

final

1、修饰变量

      变量的值只能赋值一次,之后不可改变

2、修饰类

      变为最终类,只可实例化对象,不能被继承

3、修饰方法

abstract

1、修饰类

      变为抽象类,只可被继承,不能实例化对象

2、修饰方法

this

      在构造方法中调用自己的其他构造方法;访问自己的属性、方法

super

      在构造方法中,调用父类的构造方法;方法 “ 父类 ” 的属性、方法

 面向对象编程

为了程序员考虑的一种编程思想,帮助我们更好的划分出类的职责

表现为,把现实世界中的一类事物抽象成一组相关的数据,以及数据管理的一组方法

面向对象的三大特征

1、封装

        哪些职责归哪些对象管,尽可能不公开相关数据(工具:访问限定符、方法)

2、多态

        作为服务的使用(以方法的形式提供,不需要知道,方法是具体对象实现的),表现为多种形态

3、继承

        类继承(extends)某个类                单继承

        接口继承(extends)某些接口         多继承

        类实现(implements)某些接口        多实现

方法的重写

粗略的要求:返回值类型、方法名称、方法的形参完全一致


http://www.ppmy.cn/news/579025.html

相关文章

java.se

java数据类型总共为八个分别是 byte ,short、int、long,float double, char, boolean。 其中整数型 byte [1]、short[2] 、int[4] 、long[8] 浮点型 float [4]、 double[8] 字符型 char[2],可以存放单个字符&#…

SE 概论

学习软件工程已经有一段时间了,对软工有了一定的认识。 如果说,软件是计算机的灵魂,那么软件工程就是拯救了灵魂的天使。 软件工程(Software Engineering,SE)是研究和应用如何以系统性的、规范化的…

java se接口

接口 概念: 就是抽象类的一种特殊表现形式。当一个抽象类中,所有的方法都是抽象方法时该类就可以用接口来表示。接口不是类。 由于接口中没有成员函数,成员变量,构造函数,静态函数,静态变量(其变成了全局…

SE基础一

JavaSE 基础概念: 软件:(softwore)特定顺序的计算机数据与指令 软件:系统软件(操作系统)、应用软件(主要处理某一领域的问题的软件)。 语言分为: 计算机语言…

SE模块的理解

之前对SE模块的两个全连接层的作用和设置有疑问,于是和实验室同学讨论学习了一下,以下是我自己的理解,如果有不准确的地方请批评指正。 1、压缩(Squeeze) 进行的操作是 全局平均池化(global average pool…

【Java SE】SE“细节”知识大总结

目录 1.初识JAVA 1.1环境配置时JDK、JRE、JVM之间是什么关系? 1.2Java代码运行过程 1.3一个简单Java程序的解释 1.4什么叫“一次编译,到处运行”? 1.5注释常见错误 1.6标识符 1.7关键字 2.数据类型 2.1基本数据类型 2.2.引用型数据类型 2.3…

String ==的几种情况说明记录

堆 直接存放于堆中,或者 存在于常量池中。 比较的是内存地址 equals 比较的是值 示例1 String x "hello";String y "hello";System.out.println(x y); //trueSystem.out.println(x.equals(y)); //trueString x “hello”; 在堆的…

DOS小病毒

仅供参考 %0|%0 ----分割线以下不要复制---- 详细步骤: 打开记事本→粘贴进去→另存为,编码ANSI,后缀.bat