Java1
程序员文章站
2022-07-12 22:14:15
...
class Sup{
//可以被继承的 public protect 的属性和方法
//不可以被继承的 private final 的属性和方法
//public 所有
//default 同一个包下
//protect 自己 子类 同一个包下
//private 自己
public String a;
public void fun1(){
System.out.println("Sup.fun1()");
}
}
class Sub extends Sup{
public void fun2(){
System.out.println(super.a);
super.fun1();
}
}
public class Test{
public static void main(String[] args){
Sub sub = new Sub();
sub.a = "11";
sub.fun1();
}
}
//extends 继承 继承一个普通类 继承一个抽象类(abstract)
//implement 实现 实现一个接口(interface)
class Class1{
//字段 普通方法
private String name;
public void fun(){}
}
abstract class Class2{
//字段 普通方法
private String name;
public void fun(){
}
//抽象方法
public abstract fun2();
}
interface Interface{
//抽象方法
public abstract fun3();
}
//对于抽象方法
//不能是 static final private
public abstract fun();
//public static abstract fun1();
//public final abstract fun2();
//private abstract fun3();
class Sup{
public String a;
public void fun1(){
System.out.println("Sup.fun1()");
}
}
class Sub extends Sup{
//子类 覆盖/重写 父类的方法
public void fun1(){
System.out.println("Sub.fun1()");
}
//重载
//返回值要相同 方法名要相同 但是 参数列表必须不同
public void fun1(String str){
System.out.println(str);
}
}
//多态
//一个属性的多种形态 (属性 : 方法)
public class Test{
public static void main(String[] args){
Sup sup = new Sub();
sup.fun1();
Sub sub = new Sub();
sub.fun1();
sub.fun1("Hello");
}
}
class TL{
private String name = "刘瑞莱";
class Heart{
public void think(){
System.out.println("爱你"+name);
}
}
}
public class Test{
public static void main(String[] args){
TL tl = new TL();
tl.Heart heart = new tl.Heart()
heart.think();
}
}