JAVA学习笔记_Day5_OOP(封装、继承、多态)

知识点总结

面向对象的三个特点

封装:隐藏实现的细节,将属性私有化,提供公有的方法访问私有属性
继承:从已有的类中派生出新的类,新的类具有被继承类的所有属性和方法,并能为其扩展功能
多态:指的是同一个行为具有多个不同的表现形式或形态的能力

封装

作用:隐藏代码实现的细节
   使用简单方便
   维护的数据的安全性,维护程序的健壮性
实现:修改属性的可见性,即属性的修饰词来限制对属性的访问
   为每一个私有属性创建一对(setter)方法和(getter)方法,用于对这些属性进行访问或者修改
   可在setter和getter方法中加入对属性取值的限制

继承

使用extends关键字实现继承
继承所派生出的子类用有父类的所有属性和方法(当然这边不考虑一些(private)私有属性)
继承只支持单一继承,一个类不能同时继承多个父类,但是可以多重继承(此处可理解为继承为单细胞生物,所谓的父母都是一个)

多态

java中多态的体现:
  类的继承
  方法的重写
  方法的重载
  接口的实现

构造方法

构造方法的名字和类名必须相同
构造方法没有返回值
构造方法可以被重载
构造方法在实例化对象时被调用
当程序员没有自己编写构造方法时,JVM会自动生成一个无参的构造方法
反之,程序员编写了自己的构造方法时,那么JVM将不会提供无参的构造方法

方法的重载 overload

重载的方法名称要相同
两个同名方法能否构成重载,只与两个方法的形参列表有关,当两个方法形参列表一模一样时,无法构成重载,反之则构成重载!
与返回值类型无关
重载和重写时两个完全不同的概念

//重载的例子
public void run (String name,int age){

}
public int run (String name){

}
public void run (String name){

}

方法的重写 override

方法的重写又称为覆盖,例如接口中方法的实现,子类中与父类方法名一致的方法
形成重写的条件
  方法名称一致
  参数一致
  返回值类型一致,或者返回值是其子类(概括的说就是返回值的为同一类)

super用法

super可用于继承的子类中调用父类的方法以及属性
super可.出父类的方法,这样可以简化代码,增加代码的复用

public class Animal{
				private String name;
				private int age;
				
				public Animal(String name,int age){
					this.name = name;
					thia.ge = age;
				}
				
				public void test(){
					System.out.println("父类的test方法")
				}
			}
		
			public Dog extends Animal{
				public Dog(String name,int age){
					super(name,age);
				}
				
				// 重写父类的test方法
				
				public void test(){
					super.test();  // 在子类中调用父类的方法
					System.out.println("子类的test方法")
				}
			}
			
			Dog dog = new Dog
			
			dog.test();

修饰词

修饰符本类同包包外子类包外其他类
private
默认
preotected
public

debug测试

设置断点(双击代码前面的空白处)
打开debug模式(运行旁边的小虫子)
调试过程中可看见属性值的变化(在Variables窗口中)没有找到的话可以在 Windows–>show View---->Variables下找到

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值