Java也学一阵子了,最近正做项目才发现还是基础方面欠缺点,这几天集中给自己补了一堂课,通过简短整理方式想巩固一下子,给自己看,同时给别人看。
虽然不是什么稀奇的文章,不过也相信也有很多需要此方面知识的朋友们此文章允许转载,请注明转载信息,谢谢!
Author: Kim
[url]http://gimgen1026.iteye.com/[/url]
内存分析贯穿始终。每一个程序拿出来,这个内存里面到底怎么运行的,必须弄得清清楚楚的,所以复习的时候自己把每个程序拿出来自己想一想这个在内存里怎么执行,必须得想明白。
对象和类的概念:什么叫对象,什么叫类?
类是具有同一类事务的一个抽象。同一类,同样特征的的一个抽象。
对象是一类事务的一个特殊的实例。
类(对象)之间的关系:咱们讲了好多种,关联、继承、聚合,聚合里头还分两种聚集、组合。此外还有多态、实现。
面向对象的设计思想:认识到多态之后意识到了的它和面向过程确实不太一样。面上对象设计思想上来之后考虑的是这个问题域里头有哪些对象或者说那些类,类理有哪些属性和方法,类和类之间是什么关系,有没有继承的关系,有没有多态的关系,ok,这就是面向对象的设计思想。
class关键字:在Java里面使用class来定义一个类。
new关键字:new的时候new出了一个的新对象,然后呢迁出了一个引用的概念。引用是什么?脑子里立刻浮现同一小块内存指向一大块内存。
new一般和构造方法一起使用。构造方法指的是当这个类new一个新对象的时候调用的方法,这方法比较特殊,和类同名,没有返回值,void都不能写。
方法重载:同时构造方法也可以重载。那么,什么叫方法重载,方法名字一样,但是参数之间有区别,参数之间的区别在于类型不一样,或者是参数的个数不一样。
this关键字:this指的是当前对象,你现在调用哪个方法,这个this指的就是谁,那么内存里面什么情况呢,new出一个对象来,它里面有自己的引用指向自身。
static:static的成员变量它是属于所有类的,static的成员变量一般分配在Data区域里面,这个类的所有对象属于整个类,你不需要new这个对象就可以访问它。非static的,你必须得new一个对象才能访问它,static不需要,所以我们用类名加上点,即ClassName.***就能访问它里面的值,或者是来访问它的方法。
访问控制:3个关键字private (default) protected publicprivate修饰了成员变量是私有的,只有自己能访问它,出了类没有人能够访问它。
default一个包内的其他类可以访问它。
protected它的子类可以访问它。
public 所有类都能访问。
在这里default和public还可以修饰class,即public class的话所有的类都能访问它。default类是同一个包里面的其他类可以访问它。
还有一点,这3个关键字以及default都能修饰内部类。
extends 即继承:它的意思就是《某某是一种某某》,即《某某instanceof某某》,只要说通这句话就OK。
从一个类继承到另一个类的时候,相当于你拥有了那个类的所有的成员变量和所有的成员方法,包括private的,可是很不幸,这个private的成员变量你继承下来以后你拥有了所有权,sorry! 你没有使用权,即你只能看不能用。
overwrite(override)即方法的重写:父类里面实现了某方法,如果你很不满意,很简单,重写它。
final:final的变量不能够改变它的值。
final的方法不能被重写。
final的class不能被继承。
Object:Java的所有的老祖宗类,根基类。
典型的有toString方法:说白了就是一个字符串上的表现,你可以重写它,也可以写字符串来表现。
equals方法:定义了这个类的两个对象之间怎么样算相等,这样的语义。
upcasting(向上转型)&downcasting(向下转型):父类的引用指向子类对象,或者接口的引用指向实现接口的类的对象,叫向上转型,反之向下转型。
ploymophysm(多态)/ dynamic binding(动态绑定)/ late binding(时绑定):多态的存在有三个必要条件,要有继承、要有重写、父类引用指向子类对象。
脑子里立刻浮现出内存来,我们找那个方法的时候你实际当中new的是哪个类,我就找哪个类的对象的那个方法,这叫动态绑定。
abstract class(抽象类):含有抽象方法的类就是抽象类。抽象类只有方法定义,没有实现。
interface(接口):它是一种特殊的抽象类,这里面所有的方法都是抽象方法,并且都是public的。所有的成员变量都是public static final的。
接口和接口之间互相可以继承,类和类之间互相可以继承。类和接口之间只能实现,关键字implements。
一个类可以实现多个接口,多个类可以实现一个接口。
接口的本质,内存里面想一想,它其实就能看见这个对象的其中一部分方法,这就是一个接口。
虽然不是什么稀奇的文章,不过也相信也有很多需要此方面知识的朋友们此文章允许转载,请注明转载信息,谢谢!
Author: Kim
[url]http://gimgen1026.iteye.com/[/url]
内存分析贯穿始终。每一个程序拿出来,这个内存里面到底怎么运行的,必须弄得清清楚楚的,所以复习的时候自己把每个程序拿出来自己想一想这个在内存里怎么执行,必须得想明白。
对象和类的概念:什么叫对象,什么叫类?
类是具有同一类事务的一个抽象。同一类,同样特征的的一个抽象。
对象是一类事务的一个特殊的实例。
类(对象)之间的关系:咱们讲了好多种,关联、继承、聚合,聚合里头还分两种聚集、组合。此外还有多态、实现。
面向对象的设计思想:认识到多态之后意识到了的它和面向过程确实不太一样。面上对象设计思想上来之后考虑的是这个问题域里头有哪些对象或者说那些类,类理有哪些属性和方法,类和类之间是什么关系,有没有继承的关系,有没有多态的关系,ok,这就是面向对象的设计思想。
class关键字:在Java里面使用class来定义一个类。
new关键字:new的时候new出了一个的新对象,然后呢迁出了一个引用的概念。引用是什么?脑子里立刻浮现同一小块内存指向一大块内存。
new一般和构造方法一起使用。构造方法指的是当这个类new一个新对象的时候调用的方法,这方法比较特殊,和类同名,没有返回值,void都不能写。
方法重载:同时构造方法也可以重载。那么,什么叫方法重载,方法名字一样,但是参数之间有区别,参数之间的区别在于类型不一样,或者是参数的个数不一样。
this关键字:this指的是当前对象,你现在调用哪个方法,这个this指的就是谁,那么内存里面什么情况呢,new出一个对象来,它里面有自己的引用指向自身。
static:static的成员变量它是属于所有类的,static的成员变量一般分配在Data区域里面,这个类的所有对象属于整个类,你不需要new这个对象就可以访问它。非static的,你必须得new一个对象才能访问它,static不需要,所以我们用类名加上点,即ClassName.***就能访问它里面的值,或者是来访问它的方法。
访问控制:3个关键字private (default) protected publicprivate修饰了成员变量是私有的,只有自己能访问它,出了类没有人能够访问它。
default一个包内的其他类可以访问它。
protected它的子类可以访问它。
public 所有类都能访问。
在这里default和public还可以修饰class,即public class的话所有的类都能访问它。default类是同一个包里面的其他类可以访问它。
还有一点,这3个关键字以及default都能修饰内部类。
extends 即继承:它的意思就是《某某是一种某某》,即《某某instanceof某某》,只要说通这句话就OK。
从一个类继承到另一个类的时候,相当于你拥有了那个类的所有的成员变量和所有的成员方法,包括private的,可是很不幸,这个private的成员变量你继承下来以后你拥有了所有权,sorry! 你没有使用权,即你只能看不能用。
overwrite(override)即方法的重写:父类里面实现了某方法,如果你很不满意,很简单,重写它。
final:final的变量不能够改变它的值。
final的方法不能被重写。
final的class不能被继承。
Object:Java的所有的老祖宗类,根基类。
典型的有toString方法:说白了就是一个字符串上的表现,你可以重写它,也可以写字符串来表现。
equals方法:定义了这个类的两个对象之间怎么样算相等,这样的语义。
upcasting(向上转型)&downcasting(向下转型):父类的引用指向子类对象,或者接口的引用指向实现接口的类的对象,叫向上转型,反之向下转型。
ploymophysm(多态)/ dynamic binding(动态绑定)/ late binding(时绑定):多态的存在有三个必要条件,要有继承、要有重写、父类引用指向子类对象。
脑子里立刻浮现出内存来,我们找那个方法的时候你实际当中new的是哪个类,我就找哪个类的对象的那个方法,这叫动态绑定。
abstract class(抽象类):含有抽象方法的类就是抽象类。抽象类只有方法定义,没有实现。
interface(接口):它是一种特殊的抽象类,这里面所有的方法都是抽象方法,并且都是public的。所有的成员变量都是public static final的。
接口和接口之间互相可以继承,类和类之间互相可以继承。类和接口之间只能实现,关键字implements。
一个类可以实现多个接口,多个类可以实现一个接口。
接口的本质,内存里面想一想,它其实就能看见这个对象的其中一部分方法,这就是一个接口。