摘要: typedef char *String_t; 和 #define String_d char * 这两句在使用上有什么区别?答:typedefchar*String_t定义了一个新的类型别名,有类型检查。而#defineString_dchar*只是做了个简单的替换,无类型检查,前者在编译的时候处... 阅读全文
posted @ 2014-04-11 20:24 seven7seven 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 对字符串进行 sizeof 操作的时候,会把字符串的结束符“\0”计算进去的;进行 strlen操作求字符串的长度的时候,不计算\0 的。数组作为函数参数传递的时候,已经退化为指针了,Func 函数的参数 str_arg 只是表示一个指针,那个 100 不起任何作用的。改成void Func(cha... 阅读全文
posted @ 2014-04-11 18:43 seven7seven 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 腾讯:表达式“X=A+B*(C--D)/E”的后缀表示形式可以为(C)A、XAB+CDE/-*= B、XA+BC-DE/*=C、XABCD-*E/+= D、XABCDE+*/=解析:根据运算顺序依次将“左操作数、操作符、右操作数”-->其改为“左操作数、右操作数、操作符”(1) C-D-->CD-(2) B*(C-D)-->B(C-D)*-->BCD-*(3) B*(C-D)/E-->B*(C-D)E/-->BCD-*E/(4) A+B*(C-D)/E-->AB*(C-D)/E+-->ABCD-*E/+(5) XABCD-*E/+= 阅读全文
posted @ 2014-04-11 13:28 seven7seven 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 1、概念:接口是抽象方法和常量值得定义的集合。本质上,接口是一种特殊的抽象类,这种抽象类只包含常量和方法的定义,而没有变量和方法的实现。 接口定义举例:2、接口特性:(1)接口可以多重实现;(接口可以继承接口,类可以实现接口,类可以继承类)(2)接口中声明的属性(成员变量)默认是public static final的,也只能是public static final的; 这是为了修正C++中多继承容易出现问题(重复的成员变量)。(3)接口中只能定义抽象方法,而且这些方法默认是public的,也只能是public的; 接口中的方法不用加abstruct,默认就是抽象方法,而且只能是抽象方法... 阅读全文
posted @ 2014-04-10 20:36 seven7seven 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 相当于C++中的const(1)final的变量值(成员变量、局部变量(形参))不可被改变;(2)final的方法不能被重写;(3)final的类不能被继承。 阅读全文
posted @ 2014-04-10 19:34 seven7seven 阅读(154) 评论(0) 推荐(0) 编辑
摘要: (1)abstrac关键字类修饰的类是抽象类,用abstract修饰的方法是抽象方法;(2)含有抽象方法的类必须被定义为抽象类;(3)抽象类必须被继承,抽象方法必须被重写(或者将子类也声明为抽象类);(4)抽象类不能被实例化;(5)抽象方法只需声明,不需实现。如:public abstract void enjoy();//抽象方法例如:JAVA笔记9中可以将Animal定义为抽象类(仅改变Animal的定义即可)。public class TestAnimal{ public static void main(String args[]){ Dog d=new Dog("... 阅读全文
posted @ 2014-04-10 15:15 seven7seven 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1、动态绑定:执行期间(而非编译期间)判断所引用对象的实际类型,根据实际的类型调用相应方法。2、多态存在的三个必要条件(同时):继承、重写、父类引用指向子类对象。 这三个条件满足后,当调用父类中被重写的方法时,实际new的是哪个子类对象,就调用该子类的方法。例子:public class TestAnimal{ public static void main(String args[]){ Dog d=new Dog("dogname","black"); Cat c=new Cat("catname","blue" 阅读全文
posted @ 2014-04-10 14:52 seven7seven 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 1、规则(1)基类(父类)的引用类型变量可以指向其子类对象;(向上转型)(2)基类的引用不可以访问其子类对象新增加的成员(属性和方法);(3)可以使用“引用变量 instanceof 类名”来判断该引用变量所指向的对象是否属于该类(或该类的子类);(4)子类对象可以当做基类对象来使用,即基类引用指向子类对象,是向上转型(upcasting);反之,向下转型(downcasting)。例1:public class TestAnimal{ public static void main(String args[]){ Animal a=new Animal("name"); 阅读全文
posted @ 2014-04-10 14:12 seven7seven 阅读(416) 评论(0) 推荐(0) 编辑
摘要: 位于rt.jar\java\lang\Object.classObject类是所有Java类的根基类(Java中只有一个根基类,C++中有多个)。如果在类声明中未使用extends关键字指明其基类,则默认其基类为Object类。所有对象,包括数组,都实现了Object类的方法。1、toString()方法蓝色高亮行代码等价于d.toString()。输出:d:=Dog@757aef。重写toString()方法:2、哈希编码3、equals()方法例题:public class TestEquals{ public static void main(String args[]){ ... 阅读全文
posted @ 2014-04-10 12:04 seven7seven 阅读(1600) 评论(0) 推荐(0) 编辑
摘要: 1、(1)类的成员的权限修饰符有public,protected,private或default,限定其他对象对该类对象成员的访问权限。(2)class的权限修饰符只可以是public或default public:类可以在任何地方被访问; default:类只可以被同一个包内部的类访问。2、继... 阅读全文
posted @ 2014-04-09 17:22 seven7seven 阅读(309) 评论(0) 推荐(0) 编辑