码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA-OOP

时间:2015-01-02 09:50:55      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

对象,类,方法,实例变量
构造函数 public classname(...)
析构函数 protected finalize()
封装:自己设为私有,编写公有方法使用。
继承:不会继承private
多态
抽象

覆盖:子类重写父类的方法,要求方法名和参数类型完全一样(参数不能是子类),返回值和异常比父类小或者相同(即为父类的子类),访问修饰符比父类大或者相同的若是构造函数则先用super()第一句,其他的super.method() 使用父类的protected方法
重载:方法名相同,但参数不同的多个同名函数
super/this

有抽象方法就是抽象类。或直接abstract定义抽象类
抽象方法后为; public abstract void func(..);
子类要么是抽象的要么重写抽象方法

接口中所有属性是Public static final,方法都是public. 访问修饰符则必须是public
接口也可扩展另一个接口,相似于类的继承,关键字extends


匿名类:在多线程中学到,必须继承一个接口或实现一个父类
匿名对象:使用的时候直接new O()当作参数或者使用其方法。
Thread tt=new Thread(new Runnable(){  public void run(){System.out.println("IN THREAD");}  });

内部类
匿名内部类是一种特殊的局部内部类,它是通过匿名类实现接口。
IA被定义为接口。
IA I=new IA(){};
静态方法/块中不能引用非静态变量/方法! 
这里要从static关键字说起 
static修饰的静态变量/方法,是独立于对象之外的,他只在类第一次加载时进行初始化。 
static具有独立的内存空间且只分配一次。 

非静态变量为什么不能再静态方法中引用呢? 
通俗一点说非静态变量在对象没有创立时,是没有初始化的(内存空间没有),所以你在静态方法中引用,静态方法在初始化的时候,并不能知道非静态变量在哪 

rem结果的符号与被除数相同;mod结果的符号与除数相同 
C/JAVA 和第一个数符号一致。Python和第二个符号一致 

JAVA中继承覆盖 
构造函数,子类无构造默认调用父类无参构造。 
方法覆盖,必须同参同返作用域不能扩大 ,super.protected使用父类的..方法
成员覆盖,父类用父类,子类用子类。 
若实际调用的是父类的成员,就使用了父类的该成员m,若实际调用的是子类的成员,就使用子类的成员m,记住一句,每个类使用成员都相当于在前面加了 一个this指针。http://blog.csdn.net/stonecao/article/details/6317353

静态方法只能访问静态成员,实例方法可以访问静态和实例成员

JAVA-OOP

标签:

原文地址:http://blog.csdn.net/gg_gogoing/article/details/42320161

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!