开始
摘要: 由于个人的脑残行为,使用homebrew安装bash后,使用chsh命令将其改成brew安装的特定版本的bash,结果上次brew更新bash之后,就彻底用不了shell了。。。无奈只能添加新的管理员账户然后把原来账户的默认shell改回来,这个事件告诉我,没有弄清楚之前,千万不要闹热做一些画蛇添足... 阅读全文
posted @ 2015-09-10 00:35 Lyon2014 阅读(320) 评论(0) 推荐(0) 编辑
摘要: Java中并没有像Perl、Python、Ruby那样对容器有直接的支持,但是可以依靠容器类来完成相同的工作;泛型使用一个ArrayList对象可以保存一系列的对象,如: ArrayList apples = new ArrayList(); 申明一个ArrayList对象apples,接下来可以往apples中添加对象:apples.add(object),也可以根据索引获取对象:apples.... 阅读全文
posted @ 2015-09-09 23:16 Lyon2014 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 定义与创建将一个类定义放在另一个类、方法、作用域、匿名类等地方,就是内部类;内部类只能由外部类对象创建(通过外部方法或者.new方法),内部类对象创建时必须已经有一个外部类对象,并且与之连接(在内部类中会创建一个指向其外部类对象的引用),内部类可以访问到外部类对象的所有成员(包括private);如:示例代码中,在Parcel类的内部定义了内部类:Contents和Destination,在外部类... 阅读全文
posted @ 2015-09-06 00:08 Lyon2014 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 抽象类和抽象方法抽象方法是指没有具体实现的方法,仅仅有方法的声明和没有方法体;使用abstract关键字定义一个抽象方法;包含抽象方法的类成为抽象类,如果一个类中包含抽象方法则必须使用abstract来限定该类为抽象类;抽象类不能实例化对象,抽象类的子类必须对所有的抽象方法提供方法定义,否则仍然是抽象类,且必须用abstract来限定;接口接口是一个完全抽象的类,没有提供任何具体的实现,只提供了具... 阅读全文
posted @ 2015-09-03 03:32 Lyon2014 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 在上一节的学习中,强调继承一般在需要向上转型时才有必要上场,否则都应该谨慎使用;向上转型和绑定向上转型是指子类向基类转型,由于子类拥有基类中的所有接口,所以向上转型的过程是安全无损的,所有对基类进行的操作都可以同样作用于子类;如示例代码中,Music.tune方法调用时,需要的参数是基类Instrument,而传入一个子类:Wind类的对象时,该方法一样可以被调用,并且play方法执行的是Wind... 阅读全文
posted @ 2015-09-02 01:10 Lyon2014 阅读(153) 评论(0) 推荐(0) 编辑
摘要: MarsEdit粘代码好麻烦,所有代码交给github:https://github.com/lozybean/MyJavaLearning复用一个类常用的两种方式:组合、继承;组合将对象引用置于新类中,新类就完成了这些对象的复用;Java中,每个非基本对象都有一个toString方法,当需要一个String对象时直接调用;对象的引用在类的定义中会被初始化为null;引用初始化可以在四个地方进行:... 阅读全文
posted @ 2015-09-01 01:05 Lyon2014 阅读(158) 评论(0) 推荐(0) 编辑
摘要: Java中访问权限等级从大到小依次为:public、protected、包访问权限(没有关键词)、private;以包访问权限为界限,public、protected分别可以被任意对象和继承的对象访问,而包访问权限(未加关键词的类、方法等)则不能在包外被访问;在一个类中,不能出现相同类成员;在同一个包中,不可以出现相同类;public作为接口访问权限,将一些方法作为public,即将该方法作为接口... 阅读全文
posted @ 2015-08-31 00:01 Lyon2014 阅读(144) 评论(0) 推荐(0) 编辑
摘要: java沿用了c++的构造器,使用一个和类名完全一样的方法作为类的构造器,可以有多个构造器来通过不同的参数进行构造,称为重载;不仅是构造器可以重载,其他方法也一样通过不同的形参以及不同的返回值来实现重载;当创建一个新的对象的时候,java就需要对该对象进行初始化(如果没有创建构造器,java会自动创建一个无参构造器,也称默认构造器,并对对象进行初始化),构造器函数只对对象进行初始化操作,并没有任何... 阅读全文
posted @ 2015-08-27 00:53 Lyon2014 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 由于java是c系语言,基本保留c语言的所有基本操作,就快速过一下;java中的基本操作符仅仅对基本类型有效;=、==、!=对所有对象有效(值传递),String类支持+、+=;在对基本数据进行算术运算或者按位运算时,只要类型比int小(char、byte、short)都会自动转换成int,最终结果都是int;java中,如果两个类型不同的值进行运算,则会转换成教大的类型再进行运算,并且得到的结果... 阅读全文
posted @ 2015-08-26 22:27 Lyon2014 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 对象1. 对象通过一个引用来操作,但是java中的对象是按值传递的,基本上可以在操作中认为对象本身,在内部结构中仍然要记得是对象实体的引用;如:String s = "abcd" ;这个语句中,s并不是String对象:"abcd"本身,而是表示一个String对象的引用,这里即对象s的引用,但是当你使用s的时候,传递的是"abcd"这个对象,也就是引用的值;注意只能使用双引号;2. 使用new创... 阅读全文
posted @ 2015-08-26 00:49 Lyon2014 阅读(148) 评论(0) 推荐(0) 编辑