封装:
封装:
把属性或方法使用private修饰符修饰之后,就叫做封装。
修饰符:
-
public 公开的 所有地方都可见的
-
protected 受保护 同一个包和他的儿子们可见的
-
default 默认的什么都不写的 他儿子们才能看到的
-
private 私有的 ,除此类之外都不可见的
实例:
/**
* @author fei
* 2021年9月18日上午9:22:01
* 封装
* public 公开的 所有地方都可见的
* protected 受保护 同一个包和他的儿子们可见的
* default 默认的什么都不写的 他儿子们才能看到的
* private 私有的 ,除此类之外都不可见的
*/
public class FengZhuang {
//封装了一个 类型为 复合类型 String的 变量,该变量的变量名字 是 name
private String name;
}
继承:
接口:
用interface 修饰的就是接口。
实例:
/**
* @author fei
* 2021年9月18日上午10:18:37
* 这是一个接口
*/
public interface JieKou {
public void show();
}
接口中省略了abstract修饰符。
接口中只有抽象方法。
接口可以看成特殊的抽象类。
接口一般想要被使用,需要有普通类来实现。普通类实现接口的时间必须实现所有的抽象方法。
接口没有构造方法。
抽象类:
用abstract修饰的类。
实例:
/**
* @author fei
* 2021年9月18日上午10:33:57
* 抽象类
*/
public abstract class ChouXiang {
public abstract void show();
public void showDJ() {
System.out.println("黄梅戏!");
}
}
抽象类种既可以使用普通方法,又可以使用抽象方法。
抽象类中不能省略abstract修饰符。
抽象类想要使用也需要被普通继承类实现。
抽象类可以被抽象类无限继承就是不实现。
抽象类也有构造方法。
普通类:
普通类就是平时使用的类。
实例:
/**
* @author fei
* 2021年9月18日上午10:43:00
* 普通类
*/
public class PuTongLei {
public void show() {
System.out.println("这是一个普通类!");
}
}
多态
重写:
子类重写父类的方法。
父类相当于子类的模板。
子类想要调用父类的方法需要使用关键字super。
重载:
同一个类中方法名一样,但参数不同。
实例:
重写:
父类:
/**
* @author fei
* 2021年9月18日上午11:25:49
* 爸爸类
*/
public class BaBa {
public void show() {
System.out.println("这是一个爸爸类。");
}
}
子类:
/**
* @author fei
* 2021年9月18日上午11:26:53
* 孩子类
*/
public class HaiZi extends BaBa {
public void duyou() {
System.out.println("孩子类独有的方法。");
}
public void show() {
System.out.println("重写父类方法!");
}
}
重载:
package com.hp.duotai;
/**
* @author fei
* 2021年9月18日上午11:39:13
* 同一个类中 方法名一致,但内容不同 叫做重载
*/
public class ChouZai {
/**
* @time: 2021年9月18日上午11:38:31
* @auth: fei
* @return:void
* @description:方法名:show ,内容 无
*/
public void show() {
System.out.println("show");
}
/**
* @time: 2021年9月18日上午11:38:43
* @auth: fei
* @return:void
* @description:方法名:show,内容 String
*/
public void show(String name) {
System.out.println(name);
}
}