Java的类与对象、封装和多态

一、概念

对象是实体 需要被创建 对象可以帮我们做事情
类是规范 我们需要根据类的定义来创建对象

得先有这个类 才能根据这个类来创建相应的对象

二、定义类

★创建对象

例:

new Machine();

Machine machine= new Machine();

★让对象做事

例:
首先要:

void work()
{
	语句体
}

void work(int number)
{
	语句体
	count=count+number;
}

最后你就可以用(.点运算符)

machine.work();

machine.work(10(或其他任意int类型数字))

来调用了

三、外部类与内部类

类里还能套类(禁止套娃
例:

class Outer
{
    private int num=4;
    public void test()
    {
        //下面是在方法中定义的内部类
        class Inner
        {
            void show()
            {
                System.out.println("num="+num);//访问外部类的成员变量
            }
        }
        Inner in=new Inner();//创建内部类对象
        in.show();//调用内部类的方法
    }
}

public class Main
{
    public static void main(String[] args) {
        Outer outer=new Outer();//调用外部类对象
        outer.test();//调用外部类的test()方法
    }
}

四、封装

封装是Java面向对象的三大特征之一
在定义一个类的时候 将类中的属性私有化 即使用private关键字来修饰 私有属性只能在它所在类中被访问
为了能让外界访问私有属性 需要提供一些使用public修饰的公有方法 其中包括用于获取属性值的getXxx()方法和设置属性值的setXxx()方法
对象=属性+服务
数据:属性或状态
操作:函数

可以这么理解:将数据和对数据的操作放在一起封起来即为封装

五、多态

多态也是Java面向对象的三大特征之一
多态即为在同一个方法中 传入参数不同 执行效果各异

public static void animalShout(Animal an)//这里只要是Animal的子类(有shout方法) 都可以被接收
{
    an.shout();
}

多态不仅解决了方法同名的问题 而且还使程序变得更加灵活 从而有效地提高程序的可扩展性和可维护性

对象的类型转换

1、向上转型

向上转型:将子类对象的类型进行了提升
什么情况下使用向上转型:当你只想用父类定义的功能 隐藏子类类型
例:

Animal an1=new Cat();//将Cat对象当作Animal类型来使用
Animal an2=new Dog();//将Dog对象当作Animal类型来使用
2、向下转型

向下转型:使其可使用子类特有的方法
例:

Cat cat=(Cat)animal;

向下转型之前须有向上转型

instanceof关键字:用于判断一个对象是否为某个类或接口的实例或者子类实例
方法:对象或对象引用变量 instanceof 类或接口
例:

if (animal instanceof Cat)
{
    Cat cat=(Cat)animal;
    cat.sleep();
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值