---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
1、面向对象的三大特征:封装、继承、多态。
2、“=”运算符与equals()方法的区别:
对于同样的两个对象,利用“==”运算符和equal函数来对对象进行比较,往往会有不同的结果。
例如String是Java自定义的对象,其主要用来存储字符串数据,下面定义了三个string对象。
String str1=new String(“abc”); //创建一个对象,利用abc初始化
String str2=new String(“abc”); //创建一个对象,利用abc初始化
String str3=str1; //创建一个对象,并利用对象str1的地址赋值
以上三个对象,显而易见,其内容都是相同的。但是利用这个两种方式来对他们进行比较的时候,往往会有不同的结果。如利用“==”比较符号来进行比较,str1==str2,最后返回的结果是false,也就是他们是不相同的对象。可是如果比较str1==str3对象,则最后返回的结果却是true。但是利用equal函数来比较,则返回的结果是相同的。为什么对象的内容相同,它们返回的结果却是不同的呢?
3、实现类的封装性:在定义一个类的成员(包括变量和方法)时,使用private关键字说明这个成员的访问权限,这个成员成了类的私有成员,只能被这个类的其他成员方法调用,而不能被其他的类中的方法所调用。
4、构造函数
构造方法的特性:它具有与类相同的名称,它不含返回值,它不能在方法中用return语句返回一个值。注意:在构造方法里不含返回值的概念是不同于“void”的,在定义构造方法时加了“void”,结果这个方法就不再被自动调用了。
5、this关键字的作用:
this关键字只能在方法内部使用,表示"对调用方法的那个对象"的引用。this的用法和其他对象的引用并无不同,但要注意,如果在方法内部调用同一个类的另一个方法,就不必使用this,直接调用即可。当前方法中的this应用会自动应用于同一类中的其他方法。this关键字对于将当前对象传递给其他方法很有用,可用this关键字在一个构造器中引用另一个构造器,避免代码重复。
另外this就是调用当前的类,虽然不使用它也可以,但使用它能使代码更容易阅读。比如说
public class test{
private String a;
public void setA(String a){
this.a = a;//在这里,调用this能够很容易区分哪个是传进来的变量哪个是该类的变量
}
}
6、static关键字
有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。
声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。声明为static的方法有以下几条限制:
它们能调用其他的static 方法。
它们只能访问static数据。
它们不能以任何方式引用this 或super
7、Java只支持单继承,不允许多重继承。
8、子类的对象可以赋值给父类的引用,但父类的对象不可以赋值给子类的引用。若把子类的对象赋值给父类的引用,父类的引用会丢失子类新增的方法。
9、继承性的特点:
子类的对象可以赋值给父类的引用;
父类的引用会丢失子类新增的属性与方法;
如子类中覆盖了父类的方法,则父类的引用调用的仍为子类中覆盖后的方法。
10、子类可以隐藏从父类继承的成员变量与方法,如果在子类中想使用被子类隐藏的变量或方法,就可以使用关键字super。
11、利用多态设计程序有很大的好处,可以体现程序设计的所谓“开-闭”原则,“开-闭”原则强调一个程序应当对扩展开放,对修改关闭,增强代码的可维护性。
12、Java不支持多继承性,即一个类只能有一个父类。单继承性使得Java简单,易于管理程序。为了克服单继承性的缺点,Java使用了接口,一个类可以实现多个接口。使用关键字interface来定义一个接口,接口的定义和类的定义很类似,分为接口的声明和接口体。
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://edu.csdn.net/heima" target="blank">http://edu.csdn.net/heima</a>