学习Java基础部分笔记

面向对象三个特征:封装、继承、多态
类:一个抽象的概念,总结的结果,有共同的特点抽象出来
对象:真实存在的个体
类创建对象的过程称为“实例化”,通过类new一个对象:A a=new A();
类=属性+方法
定义一个类:修饰符(可以省略)+class+类名
属性为变量(以数据形式存在);方法为行为
成员变量(实例变量)有初始值,局部变量没有(int 0;float 0.0f, double 0.0;char\u000;引用数据类型null; Long 0.0l )
数据类型:基本数据类型和引用数据类型(所有的类是引用数据类型 )
new在堆内存中开辟一块空间,栈中局部变量和方法,压栈(方法调用),弹栈
引用和对象的区别:对象是堆里面new出来的;引用是存储对象内存的一个变量
引用不一定是局部变量
出现空指针异常的前提条件是:空引用访问相关的数据时
构造方法:创建对象和实例变量的初始化
语法结构:修饰符+构造方法名(形参列表){构造方法体}
构造方法名和类名必修一致,不需要指定返回类型(不能写void)
构造方法支持方法重载
当一个类中手动写构造方法时,系统将不再提供无参构造
封装:private修饰,属性私有化,只能在本类中访问,
get方法:public 返回值类型+get属性名(无参){return};
set方法:public void set+属性名(含参){a=参数}
含有static的方法,调用:类名+方法名;
不含static的方法称为实例方法,new对象然后访问
static关键字:用static 修饰是类级别的,采用类名访问
静态变量在类加载时初始化变量,不要new对象,存在方法区
局部变量:栈;实例变量:堆;静态变量:方法区
实例一定要实例访问,静态的使用引用点也行static静态代码块,类加载是生成,只能加载一次,静态代码块在main()方法前执行
this是一个引用,是一个变量,一个对象一个this 当前对象,只能在实例方法中使用
this(实例参数)一个调用另一个构造方法,出现在构造方法第一行,不要能出现2次
继承extend:子类继承父类,单继承
override重写:两个所在的类有继承关系;方法名,返回值类型,形参相同;访问权限不能变低,重写后的方法不能比之前的方法抛出更多的异常可以更少
私有方法无法覆盖(重写),构造方法不能被继承,也不能被覆盖,方法覆盖只针对实例方法方法重载在一个类中,方法重写具有继承关系的类中
向上转型:父类型的引用指向子类型对象 父类 f=new 子类()
多态:编译,运行状态不同(编译阶段绑定父类方法,运行阶段动态绑定子类对象方法)instanceof:运算结果true false (引用 instanceof 类型)例子:a instanceof B a是一个引用指向B为true
多态的作用:降低程序的耦合度,提高扩展力

猜你喜欢

转载自blog.csdn.net/weixin_45328923/article/details/113121500