面向对象的三大特性:

面向对象的三大特性:

封装:

        我们把数据、一系列操作数据的函数封装到方法中,然后通过权限修饰符控制哪些方法可以让外知道,哪些只能自己知道,这样就能减少核心的数据被外界获取甚至破坏。

访问权限:

  • public:对外公开,都可以拿来调用。
  • private:私有的,只有自己可以看到。
  • protected:受保护的,只有包内可见,包外的子包可见。
  •  default:只有包内可见

说通俗点,java里面的一个类或者一个方法都是封装,或着是可以直接拿来调用的都是封装。

再通俗点:你的手机可以看成一个类,属于封装了你的信息;你手机里面的app也是封装,它封装了好多功能。

封装的好处:

  • 可以保护方法内部的代码不被修改,提高了安全性。
  • 可以提高代码的复用性:比如小王调取了获取名字的接口,小李还可以调同样的获取名字的接口。
  • 使得代码高内聚,低耦合:代码简洁,不同的模块之间更好的协作,之间的逻辑一目了然。

继承:

        说白了就是站在巨人的肩膀上,比如最早的座机(只能打电话),然后大哥大(打电话+发短信)继承了座机,然后诺基亚(屏幕+打电话+发短信)继承了大哥大,现在触摸板手机(可触屏幕+打电话+发短信)继承了诺基亚

        可以看到继承是在前人的基础上进一步的做出改变,言归正传回到java

java里面一个类可以继承另外一个类,获取被继承类的属性及方法供自己使用,其中如果一个类没有继承关系的话,它默认是继承的object类,java里面只能继承1个类

继承中的关键字:extends、super 、this、final

  • extends:单一继承,可以让一个类继承一个父类
  • super:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。
  • this:指向自己的引用。引用自身的属性和方法。
  • final:当用final修饰类时,是把类定义为不能继承的,即最终类;
  • 用于修饰方法时,该方法不能被子类重写:
  • 用于修饰属性时,和static一起使用,表明为一个常量,各类的所有对象共用一个值
     

多态:

        说白了就是多个可以标识你的外号,别人可以叫你名字,也可以叫你的外号,你就是多态(多种形态)。分为向上转型和向下转型:比如你的外号可以是爷爷也可以是孙子。

        在java里面分为类多态方法多态

        类多态:这里Dog的外号就是向上转型Animails

Animals animals =  new Dog();

        方法多态:分为重写重载

        重写和继承类似,就是继承了父类的方法之后再做一些自己方法的改进。

        重载是改变了原有的方法

       如何区别重写和重载:

        重写:

public class Persion {
	public void say(String name){
       System.out.println("名字是:"+name);
    }
}
public class Student extends Persion{
    public void say(String name) {		//重写了父类的方法,方法名和参数相同
        System.out.println(name+"是一个学生");
    }
}

        重载:

public void say(String name , String sex){}
public void say(String name,int age){	//重载方法,名字相同,但是传递参数的类型不同,系统能够判断,所以正确
}
public void say(String sex,String name){	//和第一个say具有相同类型的参数,所以系统无法判定,就会出现错误 
}

补充:如果方法名和参数都一样,返回数据类型不一样的话算不算重载===>不算

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值