1.static的作用
static为静态变量或类变量,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象
2.final的作用
final类
不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且 确信这个类不会再被扩展,那么就设计为final类。 final方法不能被子类的方法覆盖,但可以被继承。
使用final方法的原因有二:
3.override 和overload
继承是说“我父亲在家里给我帮了很大的忙”。
组合是说“我请了个老头在我家里干活”。
组合是在一类类中引用另一个类。生成另一个类的实例。
而继承只是继承了父类的变量和方法。
区别:
使用组合可以用到另一个类中私有的变量和方法,而继承就不可以用到父类的私有的变量和方法了
他们都有各自的好处,要灵活的运用。
5.clone的作用
clone方法是用来复制一个对象。不同于“=”。 对于值类型的数据是可以通过“=”来实现复制的。但是对于引用类型的对象,“=”只能复制其内存地址,使对象的引用指向同一个对象,而不会创建新的对象。clone则可以创建与原来对象相同的对象。6.前置++与后置++
i++是先取i的值做计算,再自加; ++i是先自加,再取i的值做计算。7.内部类
1.常规内部类中的方法可以直接使用外部类的实例变量和实例方法。
2.在常规内部类中可以直接用内部类创建对象
局部内部类不能加任何访问修饰符,因为它只对局部块有效。
1.局部内部类只在方法体中有效,就想定义的局部变量一样,在定义的方法体外不能创建局部内部类的对象
2.在方法内部定义类时,应注意以下问题:
1.方法定义局部内部类同方法定义局部变量一样,不能使用private、protected、public等访问修饰说明符修饰,也不能使用static修饰,但可以使用final和 abstract修饰
2.方法中的内部类可以访问外部类成员。对于方法的参数和局部变量,必须有final修饰才可以访问。
3.static方法中定义的内部类可以访问外部类定义的static成员
以这种方法定义的没有名字的类成为匿名内部类。
类包括成员变量和方法两部分。成员变量表示类的属性,一数据域的形式表达,方法是数据的操作的定义。
在JAVA中,方法只能作为类的成员,也称为成员方法。方法操作类所定义的数据,以及提供对数据的访问的代码。大多数情况下,程序的其他部分都是通过类的方法和其他类的实例进行交互的。
在类中,除了变量外的都是成员方法。
方法中有一种是对成员变量进行初始化的,称为构造方法。构造方法之外的就是一般的方法了吧。
所以说成员方法分为构造方法和一般的方法。
构造函数是一种特殊的函数,用来在对象实例化时初始化对象的成员变量
构造函数必须与类的名字相同,且不能有返回值。
11.方法的重写
/*方法重写(一般多用在继承上)
定义:它是指子类和父类的关系,子类重写了父类的方法。 两个方法返回值、方法名、参数列表必须完全一致!
出现原因:在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。*/
方法一、被调用方法声明为static ,可以在其他方法中直接调用
方法二、被调用方法,没被static修饰,不是静态方法。调用时需要通过类的实例化进行调用
13.方法的重载
重载关心的只是参数,有参无参,参数类型不同,参数数量不同,不同类型的参数顺序不同,都可以实现方法的重载。
(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。
重载Overloading是一个类中多态性的一种表现。
(2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。
调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。
(3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。
14.this
this用来标识成员变量指向实例对象。区分形式参数和成员变量。
15.方法的覆盖
就是方法的重写