Java面向对象总结(二)(转)
来源:互联网 发布:linux重启tomcat命令 编辑:程序博客网 时间:2024/06/07 04:01
1、面向对象的三大特征是?
答:封装、继承、多态。
2、类与对象的关系?
答:类是对象的模版,对象是类的实例,类只能通过对象才可以使用。
3、类的结构?怎样取得类的结构?
答:结构:属性、方法(构造方法);通过反射。
4、如果一个类没有被实例就直接使用,会出现什么异常?
答:空指向异常。
5、类属性于什么数据类型,进行引用传递时,传递的是什么东东?
答:属于引用类型,传递的是堆内存的使用权。
6、类被封装的属性,只能通过什么方法调用?有什么规矩?
答:只能通过setter和getter方法。
7、构造方法的特点、作用是什么?我的易错点?
答:只要是类则必定存在构造方法,它没有声明构造方法会在编译时自动生成无参、什么都不做的构造方法。
8、String类的两种实例化区别?怎样进行内容的比较?内容一旦声明则不可改变的原理?与BufferString类的比较?
答:通过直接赋值的方法(一个字符串就是一个String类的匿名对象,即已经开辟了堆内存的并可以直接使用的对象。)
通过new String()实例化
内容不可改变原理:一个String类对象内容的改变实际上是通过内存地址的“断开-连接”变化完成的,而本身字符串中的内容并没有任何变化。其实还是只是改变堆内存指向问题。
与BufferString类的比较在博客Runtime类调查报告中有讲过。
9、引用传递的概念实质及过程?
答:所谓引用传递就是指将堆内存空间的使用权交给多个栈内存空间。
10、this形象化,this关键字 和 super关键字的比较?
答:当你进入一个房子后,
但是房子你是看不到全貌了。
对于一个类的实例来说,
你可以看到它的成员函数、成员变量,
但是实例本身呢?
this是一个指针,它时时刻刻指向你这个实例本身。
静态成员函数没有this指针。
11、Java中使用satic声明的属性和方法有什么特点?static的相关应用?理解main方法?(易混知识点)
答:static声明的属性称为全局属性(静态属性),被所有对象共享。调用:类名称.static 属性
static声明的方法(类方法)
static 声明的方法是不能调用被非static类型声明的属性或方法的。(程序中所有的属性和方法必须在对象开辟堆内存之后才可以调用,而static类型的方法在对象未被实例化时就可以被类名称调用)
作用:使用satic属性来统计一个类到底产生了多少个实例化对象。这我在《图形工厂》中用到很多。
12、代码块的分类和特点?
答:普通代码块、构造块、静态代码块、同步代码块。静态代码块优先于主方法执行,而在类定义的静态代码块会优先于构造代码块,而且不管产生多少个对象,静态代码只执行一次。
13、构造方法私有化的应用:单态设计模式。
答:构造方法的私有化,可以控制实例化对象的产生。而单态设计模式:是在入处(构造方法)限制了对象的实例化操作。
这里注意比较:对象复制的Object.clone()不是引用,是两个对象的不同位置。
14、对象数组的使用?
答:谨记:数组一定要先开辟空间,但因为其是引用数据类型,所以数组中的每一个对象默认值是null值,则在使用时数组中的每一对象必须分别进行实例化操作。其实 在主方法中的String []args就是对象数组。
15、内部类的定义2种方法和好处?(薄弱知识点)
答:1、用static定义内部类 2、在外部访问内部类
16、谈谈类设计和程序设计的思路?
自问自答:
1、子类对象实例化过程中构造方法的调用顺序?
答:就像生活中先有父母才再有孩子。
2、当父类有多个构造方法时,子类怎样调用特定的构造方法?
答:通过super()关键字来实现。
3、this与super的相似与区别?
答:
4、重载与覆写的区别?
答:
5、如果父类()的方法不希望被子类覆写,该怎么办?
答:用final关键字(完结器)声明这个方法。
6、怎样声明一个全局变量?final的绰号?
答:
使用final声明的类是太监类。
final声明的变量成为 常量,不可修改。
全局变量:public static final INFO = "ZhangZe";
7、什么叫一个完整好的类?
答:我们知道所有的类继承自Object类。一个好的类应该覆写Object类中的toString()、equals()、hashCode()3个方法。
所有引用数组类型都可以向Object类进行向上转型。
8、抽象类的作用和实际应用-模板设计?
答:抽象类是用来作父类的,作用像“模版”。不能由抽象类创建对象。
模板设计:
1 new A(){ 2 public void printInfo(){ 3 System.out.println("Hello World!!!") ; 4 } 5 }
- Java面向对象总结(二)(转)
- Java面向对象简单总结(二)
- Java知识点总结(二)面向对象
- 黑马程序员——JAVA 面向对象总结(二)
- Java面向对象编程习题总结(二)
- java面向对象(二)
- java面向对象(二)
- Java 面向对象(二)
- java-面向对象(二)
- Java面向对象(二)
- Java面向对象(二)
- Java面向对象(二)
- java面向对象(二)
- Java面向对象(二)
- Java面向对象(二)
- Java面向对象(二)
- java总结(面向对象)
- java总结(面向对象)
- 浅谈Python中的 property属性
- Java程序员应该了解的10个面向对象设计原则
- [DOM] 什么是 DOM
- java面向对象总结(一)
- 图片、文件等上传与下载
- Java面向对象总结(二)(转)
- 深入了解Java可变长度的参数(Varargs)
- java继承和组合
- 国外JAVA与IT技术网站地址
- Java中static final用法小结
- java enum(枚举)使用详解和总结(转)
- Elgamal数字签名原理
- DB2 DECODE函数
- Java 集合类图(转)