一、封装
1、 对象的所有属性和方法是一个整体
2、 属性要封装(隐藏),把属性定义成private ,然后通过 公有的get和set方法间接调用
a.所有的属性使用使用private修饰,这时属性只能在本类中 使用。
b.提供公有的get和set,实现对其的间接使用。
3、 方法要封装(隐藏),把方法定义成private,然后通过公有方法间接调用
二、
static:静态的
static 修饰属性,那么这个属性将属于类所有(公家)
没有被static修饰的属性,他是属于对象所有(个人)
static修饰方法,那么这个方法将属于类所有(公家)
没有被static修饰的属性,他是属于对象所有(个人)
个人可以访问个人的 个人可以访问公家的
公家可以访问公家的 公家不可以访问个人的
三、默认值
1、变量不带默认值
int a;
System.out.println(a);//错误
2、数组带默认值
int[] a=new int[3];
System.out.println(a[0]);//0
3、类的属性带默认值
四、static块和普通代码块
static{
//代码
}
{
//普通代码块
}
static块 > 普通代码块 > 构造方法
static:静态的 ,被其修饰的属性和方法都属于类,通过类名直接调用。
没有被他修饰的属性,方法将属于对象,必须依赖对象才可以使用。
static修饰属性,修饰方法
static{}静态代码块,类加载时就会执行,而且只执行一次,资源的加载。
private
私有的,只能在同一个类中使用。需要和static区别开来
this
当前类的对象(引用),需要将其看做一个对象。不需要 手 动创建的。
this调用方法
this调用属性
this调用构造方法 this(参数列表) ,只能在构造方法非注释的第一行。
final:最后的最终的
修饰属性,将其变成常量,必须赋值
修饰方法,方法不能改变,不能被重写
修饰类,类不能被继承
五、重载
java重载:同一个类中,同名的方法,因为参数不同,就有不同的结果
重载的特征:同一类中,方法名相同,参数不同,与返回值类型无关。其中参数不同分为:参数个数不同、参数类型不同、参数的顺序(看类型,不看参数名)不同。
重载的多个方法调用的时候由参数来决定,按参数类型和个数一一要匹配执行
面向对象三大特征:封装、继承、多态
一、封装
private
Object类:java中所有类的基类
二、继承(extends):类与类之间的一种关系,被继承的类称为 父类(基类,超类).继承的类称为子类。子类继承父类后,会自动拥有父类的一些特征。父类更加抽象,子类会更加具体。
继承的好处:
1.提高代码重用性
2.提供程序可扩展性
四大访问修饰符:
public : 同一个类中,所有的包, 都可以使用
protected:同一个类中,同一个包中,不同包的子类中可以使用,
默认 同一个类中,同一个包中
private 同一个类中
内存分析:
栈内存:用于存储所有的基本数据类型,和对象的引用
堆内存:所有使用new关键创建的对象
继承的特征:
1、儿子没有属性和方法,可以向父亲去拿
2、儿子出生之前要让父亲先出生
3、private修饰的属性和方法不能被子类继承使用
4、this和super
this:表示当前这个对象的引用
this.属性:表示引用当前对象属性
this.方法:表示引用当前对象方法
this():表示调用当前对象的构造方法
super:表示当前对象父类的引用
super.属性:表示引用当前对象的父亲的属性
super.方法:表示引用当前对象的父亲的方法
super():表示调用当前对象的父亲的构造方法
5、类的继承是单继承
一个子类只可以继承一个父类
6、父类只有带参的构造方法,子类必须在自己构造方法通过
super(参数)显示调用父类的构造方法