先初始化全局变量
传递
定义一个类S,定义方法A,方法B,方法A中引用方法B,
新建类S的对象Q,
调用Q.A
实现数据传递。
封装
设计两个接口方法,
一个接口方法为seter,一个接口方法为geter
set可以对对象的属性进行条件控制
geter为return即可
继承
父类和子类
子类可以extend父类后添加自己的属性和方法
多态
多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。
多态的引用
if (o instance dog){}
接口
New一个类的的时候,
1. 执行父类的static成员和static代码块(按照先后顺序)
2. 执行子类的static成员和static代码块(按照先后顺序)
3. 执行父类的非static成员字段变量和代码块的初始化(按照先后顺序)
4. 执行父类的构造方法
5. 执行子类的非static成员字段变量和代码块的初始化(按照先后顺序)
6. 执行子类的构造方法
===================================
public class DuckBase {
public DuckBase(){
System.out.println("这是基类");
}
}
===================================
public class DuckA extends DuckBase{
public DuckA(){
System.out.println("这是类A");
}
void aa(){
System.out.println("aa");
}
}
===================================
public class DuckB extends DuckA {
public DuckB(){
System.out.println("这是B的构造函数");
}
public DuckB(String var){
System.out.println(var) ;
}
void bb(){
System.out.println("bb");
}
public static void main(String []args){
System.out.println("1") ;
DuckBase base = new DuckBase();
System.out.println("2") ;
DuckBase base1 = new DuckA();
System.out.println("3") ;
DuckBase base2 = new DuckB("这是基类B");
System.out.println("4") ;
DuckA b = new DuckB();
System.out.println("5") ;
b.aa();
}
}
原文:http://www.cnblogs.com/ironwang/p/6393560.html