java基础 面向对象2

一.static

1.static 可以修饰成员变量

①.static修饰的成员变量是一个类变量
②.它随着类的加载而产生,无论将来创建多少个对象,类变量只保留一份(只被创建一次)
③.访问静态成员属性 通过类名.属性名来访问
④.所有的对象都可以共享静态的成员属性
⑤存储位置:存在方法区中

2.static修饰的成员方法

①.static修饰的成员方法是一个类方法
②.访问静态方法:类名.方法名
③.在静态方法中只能访问静态成员(如果想要访问非静态成员,只能通过实例化的对象访问)
④.一般工具类中的方法都会声明成静态方法

3.static 代码块

①.静态代码块static{}
②.随着类的加载而加载,只会执行一次

二.类型转化

1.基本数据类型转化

①.自动类型转化:将容量小的数据类型转化成容量大的数据类型(相近的数据类型)
byte->char->short->boolean->int->float->long->double
②.强制类型转化:将容量大的数据类型转化成容量小的数据类型,会造成精度丢失

2.引用数据类型转化

①.向上转型(自动类型转化) Person p = new Man();
②.下转型:强制类型转化 Man man = (Man)p;
③.如果两个类毫无关系是不能进行转化 Man man = new Woman();错误的
④.instanceof:用于比较类型

三.final

1.final修饰的类不能被继承
2.final修饰的成员属性是常量(不能重新赋值)

常量的命名规则:全部大写 如果有多个单词组成 中间使用下划线分开
常量是存储在方法区的常量池

四.抽象类

1.什么是抽象类?

如果一个类不与具体的事务相联系,而是只表达一种抽象的概念,仅作为其派生类的一个基类
–抽象类作为父类,主要是定义功能而已,具体的实现交给派生类

2.语法:abstract class 类名{}
3.规则

①.抽象类可以包含抽象方法,也可以包含非抽象方法
②.抽象类不能被实例化
③.抽象类只能被继承
④.普通类当中不能定义抽象方法
⑤.有抽象方法的类一定是抽象类

4.抽象方法

①.语法:abstract 方法名();
②.抽象方法没有方法体
③.子类必须全部实现父类中所有的抽象方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值