Java学习笔记整理-面向对象

面向对象:
三大特征:封装 继承 多态
封装:把一类事物的特征抽象为变量,把事物的行为抽象为方法,加以访问控制属性的限制为封装
封装的意义:保护
[访问控制符]class 类名{
//属性
修饰词 属性类型 属性名;
//方法
修饰词 返回值类型 方法名(参数列表)[异常声明]{
方法体
}
构造方法:(实例化对象、构造对象时会根据参数来调用构造方法)
1.没有返回值类型 也不能是void
2.方法名和类名相同
3.子类的构造方法默认调用父类无参的构造方法super();
4.显示调用父类的构造方法super(参数);–只能在第一行
}
java语法规定:
一个.java文件只能有一个public的类,而且这个类和文件相同
访问控制属性:
public:在任何地方都可能通过对象访问该类的属性和方法
protected:只能在本类或者子类中访问 在本包中也可以访问
默认[default]:在本包中可以访问
private:只能在本类中访问
类类型 引用变量=new 类型名(参数列表);
左边声明了引用变量 右边实例化对象(在堆内存中分配内存)

static :
1.static修饰属性(不能修饰局部变量)
表示类属性,属于类,不属于对象该类所有对象都共享一份
可以直接通过 类名.属性名直接访问
也可以通过对象进行访问
2.static 修饰方法:表示(静态方法)类方法
属于类 不属于对象
静态方法中没有this引用变量
静态方法中不可以访问成员变量和调用成员方法
只能访问类属性和调用类方法
3.static修饰语句块 静态语句块
在类加载时执行,只会执行一次
加载图片、视频等资源
普通的语句块:在实例化对象时被调用
在构造方法之前先执行
new子类对象:执行过程
父类的静态语句块–>子类的静态语句块->父类的语句块->父类的构造方法->子类的语句块->子类的构造方法

final:
1.修饰变量或者属性 表示该变量和属性不能修改
2.final修饰属性只能直接初始化或者在语句块、或者构造方法中初始化(只能选择其中之一)
3.final修饰方法 表示该方法不能被子类重写
4.final修饰类 表示该类不能被继承
5.final和static同时修饰的属性称为常量(只能直接初始化或者静态语句块中进行初始化)

抽象方法:
abstract修饰的方法为抽象方法
抽象方法没有方法体
一个拥有抽象方法的类必须声明为抽象类(abstract修饰的类为抽象类)
抽象类是不完整的类,所以不能实例化对象
抽象类可以有属性和普通的成员方法 构造方法都可以有
抽象类的意义:
1.提供一个公共的类型
2.封装子类共同拥有的属性和方法
3.为子类提供统一的接口
一个类继承一个抽象类,必须实现抽象类中所有的抽象方法,否则该类只能声明为抽象类
接口:更加彻底的抽象类 接口也是一种类型
interface
接口中只能有常量和抽象方法
定义的属性只能是final static
定义的方法默认是 public abstract
接口可以继承接口
interface I extends M{ }
接口可以被实现
class X implements I{
}
为什么要接口:
java中的继承是单一继承,即一个类只能有一个父类
一个类可以实现多个接口;

instanceof
引用对象 instanceof类型
判断某个引用变量引用的对象是否是某种类型实例化的对象
子类对象一定是父类类型的实例化
向上造型:子类对象可以用父类类型的引用变量引用;
向下造型:一般来说需要结合instanceof
子类 obj=(子类)(父类引用对象);
如果该父类引用变量并不是 强转子类类型的对象 将发生以下异常
java.lang.ClassCastException
抽象类与接口的区别:
1.抽象类可以普通的成员属性和方法
接口只能有常量和抽象方法
2.抽象类可以有构造方法
接口没有构造方法
3.一个类只能继承一个抽象类,但可以实现多个接口(extends implements)

内部类:
1.成员内部类
2.静态内部类
3局部内部类
4匿名内部类

java程序初始化顺序:父类静态变量->父类静态代码块->子类静态变量->子类静态代码块->父类非静态变量->父类非静态代码块->父类构造方法->子类非静态变量->子类非静态代码块->子类构造方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值