java中内部类 、object类 、final关键字、修饰符、多态

继承两种方式:
Has—a: 类中有另一个类的应用
Is—a:extends

多态

1. 基本数据类型:自动转换, 强制转换
2. 引用数据类型:向上转型,向下转型(必须先向上转型)

A. 向上转型:子类的地址赋值给父类
注意:父类只能使用自己类中的方法,不能使用子类中的方法。如果子类重写了父类方法,则父类调用的是子类重写后的方法。-这才是向上转型的价值。
好处:
1. 扩大参数、属性范围;
2. 若父类是一接口,通过这种方法获得自身对象。:接口作为类的参数
B. 向下转型: 先向上转型后才能向下转型。
错误:Student p=new Person ():
//具体被调用的方法
Publicvoid play(Person p): Person是一个接口或者抽象类
具体调用流程:
Person p=new Studen(); //向上转型
Play(p);
//具体play方法
public void play(Person p)
{
//此处需要调用student中的方法,必须向下转型
if(Student instanceOf Person){
Student s=(Student)p;
p.work();
}
}

final关键字

  1. 修饰属性—–>常量;
  2. 修饰方法—–>最终方法,不能被子类重写 但可以被子类调用;
  3. 修饰类———>最终类,不能被继承。

修饰符+访问修饰符

修饰符:abstract final static
访问修饰符:private public protected default
普通类:
A. 访问修饰符:public 默认;
B. 修饰符:abstract ,fina;
属性:
访问修饰符:4种;
修饰符:static、final;
方法:
访问修饰符:4种;
修饰符:abstract final static;
接口:
访问修饰符:public 默认(不写);
接口中方法的创建:
访问修饰符、修饰符二者全都出现或者全部不出现或者二者出现其一

Object类

1.hashcode():把对象的地址转换成哈希吗值(整形值);
2. toString():打印对象时的地址的字符串。一般子类都要重写此方法。
3. getClass():得到运行时类;
4. equals():即比较地址也比较内容,在子类中需要重写。
5. clone():创建返回对象副本;
6.finalize():垃圾回收.

内部类

顾名思义,在一个类的内部有定义了一个类。
种类:成员内部类,静态内部类,局部内部类,匿名内部类
A. 成员内部类:
类之内方法之外定义的内部类。可以将其理解为一种成员,故其访问修饰符是4种。
a.获取内部类:
1. 外部类外部类对象=new 外部类;
2. 外部类.内部类 内部类对象=外部类对象.new 内部类;
Person.Heart heart=person.new Heart();
b.获取匿名内部类
1.在外部类中定义一个方法getInstance()返回内部类实例
2.直接使用外部类实例去调用getInstance得到内部类实例
Person.Heart heart1=person1.getInstance()
注意:同名属性使用实例:
System.out.println(“局部变量name:”+name);
System.out.println(“内部类属性:”+this.name);
System.out.println(“外部类属性:”+Person.this.name);//Person.this:外部类对象
B. 静态内部类:
使用static修饰的内部类
注意:
静态内部类不能使用非静态的外部属性和方法
创建对象方法:不依赖外部类
1. Person.Heart heart1=new Person.Heart () //直接new
2.也可以通过定义getInstance的形式创建。
C. 局部内部类:
定义在方法中的内部类。
注意:
1. 可以使用外部类的属性和方法,包括私有属性。
2. 如果要使用方法中的局部变量,则该变量必须是final,因为内部类不能在使用完外部类的变量后将其销毁,即当方法中的变量被回收后导致局部内部类引用时找不到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值