类与对象
类:
基本概念:对一事物的抽象描写,可以理解为取事物的最大共同点.
作用:相当于一个模具.
对象:
基本概念:由类做出来的东西.将一类事物具体化.
作用:可用于记载方法.
类的基本组成:
属性(共同的特点)
方法(共同的行为)
定义一个类:public class Sleep
public:修饰符
class:类的关键字
Sleep:类名
定义属性:
属性类型+属性名(字段).
属性可以给初始值也可以不给.
可定义的数据类型:
基本数据类型,引用数据类型.(又叫:简单数据类型,复杂数据类型)
八种基本数据类型:
PS:后面的数字数所占的字节,一个字节是八位.
boolean 布尔型 1
byte 字节类型 1
char 字符型 2 一个字符能存储一个中文汉字
short 短整型 2
int 整数类型 4
float 浮点类型(单精度)4
long 长整形 8
double 双精度类型(双精度) 8
byte 字节类型 1
char 字符型 2 一个字符能存储一个中文汉字
short 短整型 2
int 整数类型 4
float 浮点类型(单精度)4
long 长整形 8
double 双精度类型(双精度) 8
PS:八种数据类型每一个都对应了一个包装类
引用数据类型:除去基本数据类型,剩下的都是引用数据类型.
定义方法(行为,函数):
方法体:记载主要的行为,或记录行为具体所做的事情,从头到尾.
方法名:对行为的简要描述.
入参:在执行行为之前想好思路,拟好计划,然后有效的执行行为.
出参:事情做完后的结果.
访问权限:人是人,狗是狗,本质不可改变.
PS:Java里的访问权限从大到小,
最大的public,最小的private,保护的 rotected,编码器默认不写.
Static(静态的):
static修饰属性(字段):
表示这个属性不归具体的某个对象,而是归所有对象共有,所以要用类名来访问,用对象来访问也可以.
static修饰方法(行为,函数):要用类名来调用,用对象名也可以,但是会报黄警告.
抽象类与接口
抽象类:介于类与接口之间,一半是实现了的方法,一半的规则.
接口:制定规则给其他类实现.
关键字:inteface
1.接口的方式是公有的.
2.接口里定义属性,属性是不可变的,用final修饰.
3.接口里的属性都是静态的,是static修饰的,
类:所有方法都实现了.
相互关系:
类与接口:实现的关系.
类与抽象类:继承的关系.
接口与接口:继承的关系,如果A接口继承了B接口,C类实现了A接口,那么C类必须实现A和B两个接口的方法.
接口和抽象类:接口不能继承抽象类,抽象类不能继承与接口,但是抽象了可以实现接口.
继承与构造
继承:子类继承父类已实现的方法,来写自己的类,可以节省代码.
关键字:extends
父类:也叫超(super)类或者基类.
PS:
Object类,是所有类的父类.
构造方法:分为两种,有参,无参.
1.构造方法名必须与类名一致.
2.构造方法不用声明返回值,但会有返回值.
3.
当前类的构造方法,就是构造当前类的对象
有参构造方法:在创建构造方法时,加入参数完成一些初始化做的事情.
无参构造方法:在编码时如果没有添加无参构造方法,编译器会默认添加无参构造方法,如果添加了有参构造方法,那么编译器只会认有参而不会再默认添 加无参.
重载与重写
重载:
方法名相同,参数列表不同.
PS:构造方法可以重载,普通方法也可以.
重写:一般存在父类跟子类之间,子类重写父类方法使其更适合自己.
对象是怎么存储的:
对象名放置在栈里,对象放置在堆里.
栈:内存小,速度快.
结构比较单一,固定,放的数据简单.
堆:内存大,速度慢.
PS:基本数据类型放置在栈里,引用类型放置在堆里.