1.对象数组: 容器 ,可以存储多个 相同类型的数据
面向对象:
每个对象都代表一个具体事物;
Person p1 = new Person();
p1.setName("张三");
Person[] p = new Person[3];
p[0]= p1;
for(int i = 0;i < p.length ;i++){
Person p = p[i];
p.getName();
}
class Person{
Pet pet;
public String toString(){
return getClass.getName()+"@"+.......;
}
重写Object 类的toString 目的是打印对象的基本信息
标配: 1.私有成员属性 2. 属性访问器 3.toString();
单例模式:设计模式
独立的,唯一的 一个对象时, 就可以是用单例模式
1.懒汉模式 2.饿汉模式 Person p = new Person();
if(p == null){
p = new Person();
}
三个核心:
1.私有构造器 ;防止外界创建对象
2.静态的私有的属性
3.静态的公共方法
枚举: enum
与 类 , 接口 , 注解Annotation
class interface
自然界中 数量时 固定的
}
===========================================
内部类: 作用 就是为了 更好的封装
接口和接口 , 类 和 接口 , 类和 枚举 都可以实现内部类操作
必须是类的内部:
1.成员内部类:
就是在类的 内部
内部类可以使用外部类的所有资源, 外部类必须创建内部类
的对象 ,才可以调用;
***如果成员内部类中 定义静态资源 必须是 静态常量 constant
2.方法内部类:
定义在 方法中 ,不能用访问修饰符, 外部类在调用时
必须在方法中,创建内部类的对象,在执行;
3.静态内部类
静态内部类 要 加载的化 只能 必须加载 外部类的 静态资源,
加载不了 非静态资源
创建对象:Outer.Inner i = new Outer.Inner();
4.匿名类:
匿名类 是针对接口的, 我们一般情况下 会针某一个重点方法 进行重写
一个匿名类只能 执行一次, 和 一次功能
new 接口(){
重写方法
}; 必须用分号结束
-------------------------------------------------------
类和类之间的关系: 类和 接口之间的关系
1.继承 extends 关键字
2.实现关系 implements 实现类 要重写 接口中 的所有方法;
3.依赖关系:
临时性的 , 偶然性的 , 非常弱的;
4.关联关系:
5.聚合关系: has-a
6.组合关系:
UML: 统一建模语言是一种为面向对象系统的产品进行说明、
可视化和编制文档的一种标准语言
public class Person{
public void run(Pet pet){
}
}
Person: 人
public void push(Elephant e){
}
Elephant:大象
String name;
fridge: 冰箱
close();
open();
======================================================
Api: javadoc
Application Interfaces :应用程序接口
包含java中的 核心 常用接口 和 常用类:
常用类: java中 给你提供好的 类的使用
1.String:
2.StringBuffer
3.StringBuilder
7.Object
8.Date
|-- SimpleDateFormat
5.Scanner
6.Random
4.Math
--------------------------------------------------
String: 特点
String 类是由 final修饰的类 , 不可以被改变 (继承)
可变的字符串 是字符串 缓冲区StringBuffer
java中创建字符串的方式有几种? 区别 所占用的空间不同
1.String abc = "haha"; 常量池
2.String str = new String("abc"); 堆中
String 类的常用构造器:
1.new String();
2.new String(byte[] b); 处理 byte数组
3.new String(String original); 处理 原生的字符串
4.new String(char[] c); 处理char类型 的数组
5.new String(byte[] bytes, String charsetName); 可以指定字符串输出的字符集
String 类的常用方法:
1.charAt(int index); 返回指定 下标位置的字符
String str = "HelloKitty";
2.concat(String str); 拼接
3.boolean contains(CharSequence s); 包含
4.endsWith(String suffix); 以...结尾
startsWith(String prefix);
5.getBytes(); 将一个字符串 变成 byte 数组
6.getBytes(Charset charset); 入参是字符集
7.str.indexOf(int ch); 返回指定字符 在字符串那种 第一次出现的下标位置
str.indexOf('l',3); 从 第三个位置上开始找
str.indexOf(String str);
8.isEmpty(); 是否为空
9.lastIndexOf(int ch); 返回最后查一下次这个字符串出现的位置
10.length();
11.replace(char oldChar, char newChar);将新字符串替换为 老字符串
12.replaceAll(String regex, String replacement)
13.replaceFirst(String regex, String replacement); 替换第一个匹配字符串
14.split(String regex); 截取
15.substring(int beginIndex); 剪切
16.substring(int beginIndex, int endIndex);包含头 , 不包含尾
指定区间 截取
17.toCharArray(); 将字符串变成 char数组
18.toLowerCase() 变小写字母
toUpperCase() 变大写字母
19.trim(); 去掉两边空格
20.valueOf(xxx); 将任何数据类型 都变成字符串处理
21.intern()