java初学者笔记总结day6

static关键字
作用:没有static在类中定义的【数据和功能】(成员变量和成员方法),
都是属于对象的,如果【数据和功能】只是跟类有关系,那么我们可以通过
staic关键字修饰,变为(静态变量和静态方法)-属于类。

静态变量
语法:static +成员变量

静态方法
语法:static +成员方法
使用静态变量和静态方法
1)类名.静态变量或方法(推荐)----》本类中使用可以省略->类名.
2)对象引用.静态变量或方法

注意点:
1)成员变量跟对象相关,每个对象存储一份数组,静态变量跟类相关,静态变量只存储一份。
2)成员方法属于对象,需要对象调用成员方法,成员方法可以使用this,静态方法是类去调用,没有对象。
     静态方法不能使用this。

java内存区域
栈:局部变量
堆:new 的对象
方法区:类的信息(class字节码数据),静态变量

gc垃圾回收
作用:回收java堆里的垃圾(没有引用指向的对象)

局部变量的回收--》编译器自动回收,当局部变量作用域结束则自动回收。
对象的回收--》对象是通过引用操作,没有引用指向的对象,没有用,就可以回收---》gc回收

gc---》是一个后台的线程
线程:一个线程就是一个工作者,一个执行翻译代码的人。
运行java程序有两个线程(同时工作)
1)main线程---》负责把main的代码执行完成
2)gc线程---》负责回收垃圾

gc回收垃圾的注意点
1)回收的垃圾是没有引用指向的对象
2)默认情况是内存不足才启动进行回收。
3)通知gc进行回收System.gc()
4)对象被回收的时候gc会调用对象的finallize方法
5)内存满了,并且没有垃圾对象,就会内存溢出错误

pakcage包

作用:组织管理类,把一些有相同功能的类放到一个包下,通过包名就管理。

打包:把类放入指定包里

语法:package 一级包名.二级包名...;
位置:java文件的第一行代码
作用:把当前java文件的所有类打到某一个包下。

打包之后类的使用
1)不需要(完整类路径和import导入)直接通过类名使用
a)java.lang包的所有类
b)同一个包的类
2)完整类路径:包名.类名
3)import导入:
位置:pakcgae语句之后,类定义之前
a)import 包名.类名;导入指定包的指定类,导入之后可以直接通过类名访问指定类。
b)import 包名.*;导入指定包的所有类,导入之后可以直接通过类名访问该包所有类。
注意,不包含子包的类。
例如:import java.util.*;导入不能使用java.util.jar里的所有类。

classpath类的路径

classpath:存储的是我们项目使用很多第三方的jar文件的路径。
jar文件:压缩文件,压缩了很多的class文件(很多的功能)。
配置能classpath就可以使用其路径包含的jar文件的class的功能。

cmd编译运行
1)环境变量配置classpath
2)javac或java的-cp配置classpath

时间: 2024-11-11 09:16:47

java初学者笔记总结day6的相关文章

java初学者笔记总结day10

数组的概念 数组一种数据类型->引用类型作用 之前学习的数据类型都只能装一个值,数组可以装多个值. 一维数组定义引用语法1:数组元素的类型 [] 变量名;(java方式-推荐)语法2:数组元素的类型 变量名 [] ;(c 保留) 创建数组对象--定义引用并静态初始化:知道数组的长度和内容.语法: 数组元素的类型 [] 变量名=new 数组元素的类型 []{元素1,元素2...}; 创建数组对象--定义引用并动态初始化:知道数组的长度.语法: 数组元素的类型 [] 变量名=new 数组元素的类型

java初学者笔记总结day8

final关键字:最终的 常量:定义一次,赋值一次变量:定义一次,赋值多次 常量的类型 1)基本类型:常量本身存储的值(业务数据)不能更改 2)引用类型:常量本身存储的值(对象的地址)不能更改,对象的内容可以更改的.a)修饰变量--->常量 1)局部常量 方法的参数(局部常量):在方法中不能赋值,因为调用的时候已经赋值. 2)成员常量 没有默认值,必须创建对象保证所有的成员常量都有默认值 a)定义及赋值 b)构造块 c)构造器 3)静态常量 没有默认值,必须加载类之后保证所有的静态常量都有默认值

java初学者笔记总结day2

字符集:用来编码和解码字符用的 定义了很多字符和整数对应的关系,字符集有很多种 例如:ascii ,utf-8 ,gbk,unicode(utf-16) ascii:最基本的字符集,定义了(数字,字母,常用标点符号),并且其他字符集从ascii扩展而来. 字符编码(存储字符信息的过程):把[字符]转换为指定字符集的[整数]的过程字符解码(显示字符信息的过程):把[整数]转换为指定字符集的[字符]的过程 char:存储一个字符 占用空间:2 byte 字符集:unicode(utf-16) 整数范

java初学者笔记总结day7

eclipse->debugger模式作用?-->调试程序的错误(运行错误)可以动态执行程序代码,并且可以在执行的时候查看到当前执行环境的变量(常量)的值.debugger调试的步骤1)设置断点2)通过debuubger运行程序3)切换到debuger平台4)根据debugger的视图进行调试 访问修饰符 作用?-->控制资源(类,属性,方法)能访问的位置 4个级别 访问位置a)public(公共的): 1)本类中2)同包其他类3)子类中4)其他包其他类b)protected(受保护的)

java初学者笔记总结day1

ava环境配置 java三大体系 javase 桌面程序开发 javame 移动端程序开发 javaee 网络服务程序开发 java环境概念 jdk java程序开发环境-jre加开发所需要的功能 jre java程序运行环境-jvm加java内置功能 jvm java虚拟机,负责执行java代码 配置环境变量 path:在dos窗口可以任何路径使用java和javac命令 classpath:配置第三方jar javahome:配置jdk目录,第三行程序需要java环境时使用 hellowor

Java初学者笔记五:泛型处理

一.泛型类: 泛型是指适用于某一种数据类型而不是一个数据机构中能存不同类型 1 import java.io.*; 2 import java.nio.file.Files; 3 import java.nio.file.Paths; 4 import java.util.List; 5 6 class myClass<Type>{ 7 public Type[] tlist; 8 public Type tobject; 9 @SuppressWarnings("unchecked

Java初学者笔记六:反射

Java反射基础 零.基础类代码 import java.io.*; import java.lang.reflect.*; class father{ public String fName; father(String name) { this.fName = name; } public void show() throws Exception{ Runtime.getRuntime().exec("touch 2.txt"); } } class child extends f

java初学者笔记总结day11

数组的api-Arrays 数组转字符串数组全部元素设置默认值数组copy System.arrayCopy -->设置copy范围,copy新数组位置时候使用 Arrays.copyOf-->copy全部内容使用数组排序 sort a)基本类型-->直接用 b)引用类型:提供比较大小的方法-给sort使用 1)利用Comparable接口--->数组元素自己类实现该接口->提供比较大小的方法compareTo 2)利用Comparetor接口--->新定义类实现该接口

java初学者笔记总结day4

for循环结构 语法: for(表达式1;表达式2;表达式3){ //循环内容 } for 各位置的代码1)表达式1--->循环变量初始化2)表达式2--->循环条件--->可以不写,默认产生true,填写则必须布尔值3)表达式3--->步进语句4)//循环内容-->循环内容 while的模版 循环变量初始化while(循环条件){ //循环内容 //步进语句} while和for怎么选择1)如果四大循环结构都需要使用--->选for2)如果只需要循环条件和循环内容--