零.递归
1.自己调用自己
2.结束条件
递归求和
1-4的和
1+2+3+4
n+....+3+2+1 将 1 作为结束条件
一.包
包是为了防止命名冲突,用文件夹分类管理类、接口等内容的机制
想要使用不同包的类 或者 接口 必须要导包
java中 java.lang;是不需要导包的
导包 语法格式:
import 包名.类名; 多层包以.分割 以分号结束
import java.util.Scanner;
import java.util.*; --->*代表通配符 所有
声明包
package 包名.包名....;多层包以.分割 以分号结束
com.baidu.www 包名 全小写
eclipse 创建包 两种写法
1.右键 选择 package 创建包
2.右键 创建 Class类 同时创建类所在的包
类的全限定名 包名+类名;
com.bw.demo.Student;
com.bw.demo2.Student;
二.访问修饰符
修饰符的分类
访问修饰符
定义:
访问修饰符是用于限定类型及类型成员可见性等级的修饰符
private 默认 protected public 四个访问修饰符
private 私有 用来修饰 类中的成员变量/成员方法
只能在本类中被访问
默认(缺省) 用来修饰 类中的成员变量/成员方法 修饰类
只能在本包下的类中被访问
protected 受保护 用来修饰 类中的成员变量/成员方法
不同包 子类
public 公有的 类中的成员变量/成员方法 修饰类(类名 必须和文件名相同)
任意位置都可以访问
private 和 public 用的最多的
访问范围:
当前类 同包类 不同包子类 无关类
private√
缺省√√
protected √√√
public √√√√
非访问修饰符
static 静态
用来修饰 成员方法 成员变量 代码块
与类相关 与对象无关 优先于对象先进入内存
多了一种调用方法 可以使用 类名.调用 / 对象名.调用
面向对象的四大特征
封装
隐藏类内实现细节 对外提供访问接口
抽象
将事物共同的特征和行为抽取出来的过程 称为抽象
抽象的结果 就是类
继承
多态
三.封装
基本的封装
包 类 方法
定义:封装是将属性和方法组合成类同时隐藏类内部实现细节的机制。
属性的封装:
1.私有化属性
2.对外提供 setter/getter方法
数组 可以存储 Java定义的数据类型 也可以存储我们自己创建的new 来的对象
int[] arr = new int[10];
Student[] arr = new Student[10];
Student stu = new Student();
stu.setName("张三");
stu.setAge(12);
arr[0] = stu; --->将 stu 对应的堆内存中的地址值 赋值到 arr数组0角标位
Animal[] arr = new Animal[100];