Java基础笔记(二)---类、对象、接口和继承

Java基础笔记(二)---类、对象、接口和继承

类和对象

创建对象

Hero h = new Hero();
创建过程中JVM的对应处理,要继续补充

访问修饰符

(1)private 私有的

自身:是可以访问的
同包子类:不能继承
不同包子类:不能继承
同包类:不能访问
其他包类:不能访问

(2)package/friendly/default 不写
在这里插入图片描述
(3)protected 受保护的
在这里插入图片描述
(4)public 公共的
在这里插入图片描述总结

  1. 属性通常使用private封装起来
  2. 方法一般使用public用于被调用
  3. 会被子类继承的方法,通常使用protected
  4. package用的不多
    在这里插入图片描述

类属性

当一个属性被static修饰的时候,就叫做类属性,又叫做静态属性。如果一个属性声明成类属性,那么所有的对象,都共享这么一个值 。

例如:给英雄设置一个类属性叫做“版权" (copyright), 无论有多少个具体的英雄,所有的英雄的版权都属于 Riot Games公司。

如果一个属性,每个英雄都不一样,比如name,这样的属性就应该设计为对象属性,因为它是跟着对象走的,每个对象的name都是不同的。

如果一个属性,所有的英雄都共享,都是一样的,那么就应该设计为类属性。比如血量上限,所有的英雄的血量上限都是 9999,不会因为英雄不同,而取不同的值。 这样的属性,就适合设计为类属性

类方法

又叫做静态方法,访问一个对象方法,必须建立在有一个对象的前提的基础上。而访问类方法,不需要对象的存在,直接就访问。

例如:常用的main方法,不需要有对象,可以直接使用,属于静态方法

如果方法里访问了对象属性,那么这个方法,就必须设计为对象方法。如果一个方法,没有调用任何对象属性,那么就可以考虑设计为类方法。

接口与继承

对象转型

(1)子类转父类(一定可以)
Hero h = new ADHero();
(2)父类转子类(要进行强转)
ADHero ad = new Hero();

重写

子类可以继承父类的对象方法,在继承后,重复提供该方法,就叫做方法的重写,又叫覆盖 override

多态

  1. 操作符的多态 :+ 可以作为算数运算,也可以作为字符串连接
  2. 类的多态 :父类引用指向子类对象(对象转型)

要实现类的多态,需要如下条件:
3. 父类(接口)引用指向子类对象
4. 调用的方法有重写

抽象类

在类中声明一个方法,这个方法没有实现体,是一个“空”方法。当一个类有抽象方法的时候,该类必须被声明为抽象类

抽象类和接口的区别

  1. 子类只能继承一个抽象类,不能继承多个;子类可以实现多个接口
  2. 抽象类可以定义public,protected,package,private,静态和非静态属性,final和非final属性;但是接口中声明的属性,只能是public、静态、final的
发布了41 篇原创文章 · 获赞 5 · 访问量 663

猜你喜欢

转载自blog.csdn.net/weixin_44823875/article/details/104880864
今日推荐