JAVA-OOP

对象,类,方法,实例变量
构造函数  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

静态方法只能访问静态成员,实例方法可以访问静态和实例成员
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值