【Java】SE总结

目录

计算机体系

计算机的组成

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)某些接口        多实现

方法的重写

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

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hssq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值