您的位置:首页 > 编程语言 > Java开发

java基本思想(一)

2017-10-03 11:35 169 查看
什么是编程??

不仅仅是对计算机进行操作,更是表达自己想法的新式媒介,只有对程序能正确按自己想法运行的原理透彻,那样的编程才有意义。自行探究与思考是编程的趣味性所在 -z d

 

Java一切即对象:

Java数组的创建有静态创建,在分配空间的时候必须初始化;但动态创建的时候可以先在栈分配一个引用(这个引用可以认为就是指针,只不过他是有限制的,只能指向堆里的对象;不能像C++指向任意的内存和运算,并且不用显示回收对象,所以相对于C++这个’指针’会更方便管理和安全),然后在内存堆分配空间并赋值;

Java字符串的创建,静态创建时JVM会在内部维护的Strings pool中通过String的equals()方法查找对象池中是否存放该String对象,如果有,则返回已有对象给用户,否则JVM在堆中创建新的对象,并返回引用,同时将该引用添加至Strings
pool;动态创建时,会直接在堆中创建对象并返回引用(引用保存在栈),但不会主动将引用添加至Strings pool(但值在其中);所以静态创建的引用指向pool;动态创建的引用指向堆;

Java编程思想即面向对象:

封装:通过类将对象的行为和属性封装起来;这样做的好处是保证了类内部的数据结构的完整性和安全性,客户程序员不能轻易操作其数据结构,只能执行公开的数据,避免了外部对内部数据的影响,提高了程序的可维护性;

继承:类与类之间存在多种关系,而继承是一种比较特殊的一种,通过继承父类,既可以让程序变得更层次分明,还能缩小代码量,提高编程效率,更重要的是通过继承使用已有的类,会让性能得到更好保障,继承性就是不同类之间通过相关属性进行复用的高级特性,私有继承会将基类的公有和保护成员作为派生类的私有成员,这样派生类的子类就不能访问它们了,保护继承同理,但能被其派生类的子类或友元访问派生类的保护成员。Java继承只是单继承,而c++是多继承(但java提供接口来解决多继承的问题)。java与c++定位的不同,前者会让程序员更容易编程,因为它限制了程序员的操作空间,会让编程变得更安全和清晰,而后者的理念则是给程序员高度自由的操作空间,但缺点自然而然得知了,这正是不同语言所具备的不同魅力;

多态:多态是通过同一基类调用不同子类方法的类的又一特性,它的实现是通过抽象类和接口(接口就是由抽象方法组成的集合);不仅允许程序有统一的编程风格,而且非常利于维护;

This指针:当一个对象创建时,JVM就会给这个对象分配一个引用自身的指针;就我的理解它与句柄的区别应该是各自的权限及功能不一样,本质都是指向对象的(待修改);this除了引用变量和成员方法,包括构造方法以外(一般是在无参构造函数里面调用有参构造函数),还可以返回类的引用(这是比较重大的一个功能)

构造方法:调用构造方法时,一个对象即被创建,java自备销毁功能,当其生命周期结束的时候,比如超出其作用域或赋值为null,JVM就会视其为垃圾,被垃圾回收机制给回收掉,虽然回收机制很完整,但只回收new出来的对象,用户可在自己的类中自定义object类的finalize()方法,这样就会在垃圾回收时自动调用此方法(由于垃圾回收机制是自行发生的,所以不能保证垃圾回收或finalize一定会发生,为此,java提供了强制启动垃圾回收器System.gc();

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java