java三大特性笔记

一.封装

封装的目的:保证属性安全
封装的特点:隐藏实现的细节,提供操作的接口

java如何实现封装:

一般先将需要封装的属性设为private类型

private String name;

设为private类型后只有本类可以进行访问和使用

如果想要别的类对这个私有类型的属性进行访问,就需要提供公开的方法(set和get方法)

    public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

setName方法用获得参数来为name赋值

getName方法则返回一个name值来供别的类的方法使用

setName方法也可以用来限制值,比如名字的长度最多为3,如果给name赋的值的长度超过3,则由程序给他赋一个张三的值

public void setName(String name) {
		if(name.length()>3){
			this.name="张三";
		}else{
			this.name = name;
		}
	
	}

二.继承

继承的目的:减少代码量,便于维护

继承需要符合is-a关系

继承主要使用extends关键字实现

class 父类{
    
}

Class 子类 extends 父类{
    
}

子类会继承父类所有可以被继承的东西,其中包括公开的属性和方法

子类不会继承的东西有:父类使用private修饰的属性和方法,父类的构造方法

1.方法重写

方法重写的规则:方法名相同,参数列表相同,子类的访问权限不能严于父类

@Override关键字表示下面的方法是重写父类的

子类重写父类方法的例子

class 父类{
    public void show(){
       System.out.println("父类的方法"); 
    }
}



Class 子类 extends 父类{
    @Override
    public void show(){
         System.out.println("子类的方法"); 
    }
}

调用子类的show方法最后的输出结果是:

子类的方法

使用关键字super来访问父类的构造方法,super只能放在方法和构造方法里面,且必须放在第一行super不能访问子类的私有成员

class 父类{
   public 父类(){
       System.out.println("父类的构造方法");
   }
}



Class 子类 extends 父类{
   
    public void show(){
        super();
    }
}

调用子类的show方法最后的输出结果是:

父类的构造方法

2.方法重载

方法重载:同一个类,方法名相同,参数不同(类型,数量,顺序)

public void show(){
    
}

public void show(String name){
    
}

public void show(int age){
    
}

三.多态

多态性是对象多种表现形式的体现

多态的三个必要条件:

​ 1.子类必须继承父类

​ 2.子类必须重写父类

​ 3.父类的引用指向子类的对象

Class 父类{
    public void show(){
        System.out.print("父类的方法);
    }
}
                         
Class 子类 extends 父类{
    @Override
    public void show(){
        System.out.print("子类的方法);
    }
}

main方法中的代码

public static void main(){
    父类 a=new 子类();
    a.show();
}

输出结果是:

子类的方法

多态的优点:灵活,简单,可替换

抽象方法

抽象方法只能存在与抽象类中,抽象方法和抽象类都使用abstract修饰

抽象方法的特点:

  1. 子类继承了抽象类后必须重写抽象方法
  2. 抽象方法没有方法体
  3. 抽象方法必须放在抽象类和接口中
  4. 不能使用private,final,static 关键字

抽象类的特点:
1:使用abstract 进行修饰
2:抽象类不能被实例化
3:抽象类当中有构造方法,抽象方法,普通方法
4:子类必须重写父类的抽象方法,如不能实现继续抽象
5:不能使用 final 关键字

接口

接口需要用到的关键字:interface
类与类之间的关系:
子类——父类:继承关系
子类——接口:实现关系
类的属性为一个的对象:依赖关系
在一个类当中实例化另一个类的对象:关联关系

实现关系:
类继承一个父类,实现多个接口,
接口可以继承多个接口
类——类:单继承
类——接口:多实现
接口——接口:多继承

接口当中所有的方法为公共抽象方法
接口当中所有的书写为公共静态常量

接口和抽象类的异同点:
共同点:
1:都有抽象方法
2:都不能实例化对象
3:派生类都必须重写抽象方法
不同点:
1:继承父类关键字extends
实现接口的关键字implements
2:单继承,多实现
3:抽象类当中有普通方法,抽象方法
接口当中默认公共抽象方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值