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 方法名();
②.抽象方法没有方法体
③.子类必须全部实现父类中所有的抽象方法

发布了19 篇原创文章 · 获赞 8 · 访问量 8992

猜你喜欢

转载自blog.csdn.net/qq_44832215/article/details/103976624
今日推荐