final关键字、包名、访问修饰符、多态

一、final关键字

1、修饰的成员:
:不能被继承
变量:是常量且只能赋值一次
方法:是不能被重写(可以被覆写)
引用数据类型的对象:不能改变其地址值,但可以改变去其属性值
引用数据类型图解

package qf22020218;

public class Demo06 {
    public static void main(String[] args) {
        Person person = new Person("小明");
        person.name = "小李";
        ~~person~~  = new Person("你好呀");
        System.out.println(person.name);
    }
}
final class Person{
     String name;
     public Person(String name){
        this.name = name;
    }
}

3、在实际开发中final一般使用static关键字来进行搭配的使用,final是不能进行改变的,使用static修饰,直接通过类来进行访问

二、包名、访问修饰符



1、在不同包中可以创建相同的名称的类,可以防止相同类名的冲突
2、命名:域名+公司域名+项目名称+包的具体含义
3、包名全是小写

访问修饰符
注意:如果要禁止对象的创建可在构造方法上用private修饰,这样就不能在外部被创建
访问权限

三、多态

1、多态的概念:
一个事物或者一个对象多种形态,就是多态
2、前提条件:必须在继承或者实现接口的前提下
3、特点:父类的引用指向子类的对象,多态访问成员的特点:并且编译看左边(父类),运行看右边(子类)
4、语法:父类类名 对象名 = new 子类类名();
代码演示:

package qf22020218;

public class Demo06 {
    public static void main(String[] args) {
        Animal06 animal06 = new Cat06();
        animal06.eat("鱼");
    }
}
class Animal06{
    public void eat(String name){
        System.out.println("吃"+name);
    }
}
class Cat06 extends Animal06{

    @Override
    public void eat(String name){
        super.eat(name);
    }
}

5、多态的向上和向下转型
1、向上语法:父类 对象名 = new 子类(); 缺点:向上转型不能调用子类独有的语法
2、向下语法:子类 对象名 = new 子类(); 缺点:可能强制转换异常
向下转型问题解决:语法:父类的对象引用 instanceof 子类的类名
代码演示:
注意:必须向上转型过的子类才能向下转型,instanceof 才能为true

package qf22020218;

public class Demo06 {
    public static void main(String[] args) {
        Animal06 animal06 = new Dog();
        //Animal06 animal06 = new Cat06();
        //判断是否可以还原成子类
        if(animal06 instanceof Cat06){
            Cat06 cat06 = (Cat06)animal06;
            cat06.run();
        }else {
            System.out.println("还原失败");
        }
    }
}
class Animal06{
    public void eat(String name){
        System.out.println("吃"+name);
    }
}
class Cat06 extends Animal06{

    @Override
    public void eat(String name){
        super.eat(name);
    }
    //子类独有的方法,只有子类的引用才可以调用
    public void run(){
        System.out.println("猫在跑");
    }
}
class Dog extends Animal06{

}

结果:
输出结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT阿生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值