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();
不仅仅是对计算机进行操作,更是表达自己想法的新式媒介,只有对程序能正确按自己想法运行的原理透彻,那样的编程才有意义。自行探究与思考是编程的趣味性所在 -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的8大排序的基本思想及实例解读
- Java的8大排序的基本思想及实例解读
- 基本算法思想Java实现的详细代码
- Java编程思想-集合基本概念
- JAVA编程思想---基本数据类型总结(byte,char)
- java基本数据类型的几点注意和面向对象思想
- java的基本思想
- 监视锁——Java同步的基本思想
- Java面象对向的基本思想(四)
- 监视锁——Java同步的基本思想
- java的基本思想
- Java基础学习12(Java SE图解以及Java基本思想讲解)
- 监视锁——Java同步的基本思想
- Java语言中的面向对象特性:封装、继承、多态,面向对象的基本思想(总结得不错)
- Java面象对向的基本思想(三)
- 排序趟[置顶] Java和C实现的冒泡排序(基本思想)
- Java和C实现的冒泡排序(基本思想)
- java基本思想(二)
- Java面象对向的基本思想(二)
- JAVA编程思想学习总结:第21章第1-2节基本的线程机制