继承和多态
继承
继承变量访问特点
成员方法访问特点也同下
super是什么?
构造方法访问特点
方法重写
注意事项
Java中继承注意事项
- 只支持单继承,不支持多继承
- 支持多层继承
权限修饰符
final
static
多态
多态中成员访问特点
多态转型
Animal类
public class Animal {
public void eat(){
System.out.println("动物吃东西");
}
}
Cat类
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫吃鱼");
}
public void playGame(){
System.out.println("猫捉迷藏");
}
}
向上转
Animal a = new Cat();
a.eat();
结果:猫吃鱼
向下转
Cat c = (Cat) a;
c.eat();
c.playGame();
结果:
猫吃鱼
猫捉迷藏
抽象类
接口
抽象类和接口的区别
内部类
public class Outer {
private int num = 10;
public class Inner{
public void show(){
System.out.println(num);
}
}
}
public class InterDemo {
public static void main(String[] args) {
Outer.Inner oi = new Outer().new Inner();
oi.show();
}
}
结果:10
匿名内部类
匿名内部类的使用
接口类
public interface Jumpping {
void jump();
}
JumppingOperator类
public class JumppingOperator {
public void method(Jumpping j){
j.jump();
}
}
Demo类
public class JumppingDemo {
public static void main(String[] args) {
JumppingOperator jo = new JumppingOperator();
jo.method(new Jumpping() {
@Override
public void jump() {
System.out.println("猫可以调高");
}
});
jo.method(new Jumpping() {
@Override
public void jump() {
System.out.println("狗吃骨头");
}
});
}
}
运行结果
猫可以调高
狗吃骨头
Calender
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR,1);
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;
int date=c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");
----------------------------------------
c.set(2023,11,6);
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;
int date=c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");
2023年1月9日
--------------
2023年12月6日