package myclass;
/**
* @author yi
* java 面向对象
* 面向对象编程
*/
public class Yin {
/*
* java 是一门面向对象的编程语言
* 面向对象的基本的特征:封装,继承,多态
*/
public static void main(String[] args) {
/*
* static 和abstract不能同时修饰方法
* abstract和final不能同时修饰方法
*
* 成员内部类中不能定义static 变量,只能使用static final的
* 局部内部类 使用局部变量时必须是final的
*/
}
class A{
/*权限修饰符:private (本类),default(包内),protected(包内及子类),public(所有)
* 类的初始化:new A();根据构造方法初始,Class.forName("com.A").newInstance();
* 构造方法名称与类名相同,无返回值,public A(){},
* java只支持单继承 (接口可以多继承)
* 每个类都继承Object类
* 每个类的都默认继承一个super();构造方法
* 每个类都有一个默认的无参构造方法
* 如果父类有一个有参的构造方法,子类必须使用super(String...)显式声明,并且放在方法第一句
* this关键字表示当前对象,this();表示调用重载的构造方法
* 方法重载(overLoad):一个类中,方法名称相同,参数列表不同,返回值类型,权限修饰符可以相同
* 方法重写(override):继承关系中,方法名称相同,参数列表相同,返回值类型相同
*/
}
abstract class B{
/*
* 抽象类
* 用abstract修饰类,不能被实例化,只能被继承
* 抽象类中可以没有抽象方法
* 抽象方法 abstract void run();
*/
}
interface C{
/*
* 接口
* 用interface修饰,不能被实例化,只能被实现
* 接口只能继承接口,一个类可以实现多个接口(implements)
* 接口中的属性都是public static final (静态常量)的
* 接口中的方法都是public abstract(抽象方法)的
* 接口方法:public void cc();
*/
}
}