一、类与对象
类是抽象的,概念的,代表一类事物,比如人类,猫类.…,即它是数据类型
对象是具体的,实际的,代表一个具体事物,即是实例
类是对象的模板,对象是类的一个个体,对应一个实例
1. 创建对象
先声明再创建
12Cat cat;//声明对象cat = new Cat();//创建
直接创建
1Cat cat = new Cat();
2. 类和对象的内存分配机制
2.1 java内存的结构分析
栈:一般存放基本数据类型(局部变量)
堆:存放对象(Cat cat,数组等)
方法区:常量池(常量,比如字符串),类加载信息
2.2 java创建对象的流程
先加载Person类信息(属性和方法信息,只会加载一次)
在堆中分配空间,进行默认初始化(看规则)
把地址赋给p,p就指向对象
进行指定初始化
12p.name =" jack";p.age = 10;
3. 属性/成员变量3.1 介绍
成员变量也可以称为属性或者字段(filed)
属性是类的一个组成部分,一般是基本数据类型,也可能为引用类型(对象,数组)
3.2 注意事项
属性的定义:
...
一、包
包实际上就是创建不同的文件夹/目录来保存类文件
1. 语法12345678package com.study;//1. package 关键字,表示打包//2. com.study表示包名//引入包import 包;//案例import java.util.*;//将java.util包下的所有类都引入
2. 作用
区分相同名字的类
管理类
控制访问范围
3. 命名规则
只能包含数字、字母、下划线、小圆点,但是不能以数字开头,不能是关键字和保留字
一般是小写字母+小圆点
1234com.公司名.项目名.业务模块名 //案例com.sina.crm.user//用户模块
4. 常用的包1234java.lang.*//lang包是基本包,默认引入java.util.*//util包是系统提供的工具包,工具类,如Scannerjava.net.*//网络包,网络开发java.awt.*//java的界面开发,GUI
5. 注意事项
package的作用是声明当前类所在的包,需要放在class的最上面,一个类中最多只有一句package
import指令位置放在packa ...
一、类变量1. 定义
类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量
2. 语法12345678910111213141516//1. 定义类变量//静态变量的访问修饰符的访问权限和范围和普通属性是一样的//方式1访问修饰符 static 数据类型 变量名;//方式2static 访问修饰符 数据类型 变量名;//案例class A{ public static String name = "执笔"; static public int num = 100;}//2. 访问类变量类名.对象名;对象名.类变量名;
3. 细节
使用场景:当需要某个类的所有对象都共享一个变量时
和普通实例变量(普通属性)的区别:类变量是该类所有对象共享的,而实例变量是每个对象独享的
实例变量不能通过类名.类变量名方式访问
static类变量在类加载的时候就生成了
类变量的生命周期随类的加载开始,随类的消亡而销毁
二、类方法
类方法也称 ...
一、自定义类实现枚举1. 实现方法
不需要提供setXxx方法,因为枚举对象值通常为只读
对枚举对象/属性使用final + static共同修饰,实现底层优化
枚举对象名通常使用全部大写,常量的命名规范
枚举对象根据需要,也可以有多个属性
123456789101112131415161718class Season{ private String name;//季节名称 private String description;//季节描述public String getName() { return name;}public String getDescription() { return description;}private Season(String name,String description){ this.name= name; this.description= description;} public final static Season SPRING = new Season(" ...
一、异常概念
程序执行中发生的不正常情况称为”异常(Exception)”
执行过程中所发生的的异常事件分为两大类:
Error(错误): Java虚拟机无法解决的严重问题。如: JVM系统内部错误、资源耗尽等严重情况。比如: StackOverflowError[栈溢出]和OOM(out ofmemory)n Error 是严重错误,程序会崩溃
Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如空指针访问,试图读取不存在的文件,网络连接中断等等
二、异常体系图
1. 运行异常
运行时异常,编译器不要求强制处置的异常。一般是指编程时的逻辑错误,是程序员应该避免其出现的异常。java.lang.RuntimeException类及它的子类都是运行时异常
对于运行时异常,可以不作处理,因为这类异常很普遍,若全处理可能会对程序的可读性和运行效率产生影响
1.1 NullPointerException 空指针异常
当应用程序试图在需要对象的地方使用null时,抛出该异常
1.2 ArithmeticException 数学运算 ...
一、概念
可以动态保存任意多个对象,使用比较方便
提供了一系列方便的操作对象方法:add、remove、set、get
使用集合添加、删除新元素代码更加简洁
二、集合框架体系1. 单列集合
1.1 使用1234//单列集合 collectionArrayList arrayList = new ArrayList();arrayList.add( "jack");arrayList.add( "tom");
1.2 Collection接口实现类的特点1public interface Collection<E> extends Iterable<E>
collection实现子类可以存放多个元素,每个元素可以是Object
有些Collection的实现类,可以存放重复的元素,有些不可以
有些Collection的实现类,有些是有序的(List),有些不是有序(Set)
Collection接口没有直接的实现子类,是通过它的子接口Set 和List来实现的
1.3 常用方法123456789101) add:添加 ...