-----------android培训、java培训、java学习型技术博客、期待与您交流! ------------
1. 如何使用API(掌握)
A:找到文档,打开文档。
B:点击左上角的显示变成隐藏,然后点击索引
C:你应该知道你要找谁?比如要找Math类.所以,你就在那个输入框里面输入Math,然后回车,再回车。
D:看这个类的结构
java.lang 类 Math
java.util 类 Scanner
如果是java.lang包下的类,是可以直接使用的。(Math)
否则,就需要导包才能使用。(Scanner)
E:看看对这个类的说明。
F:看构造方法
名称:字段 --成员变量 -- 属性。
a:有构造方法,那么,就通过构造方法创建对象使用。
b:没有构造方法,那么,这个类的成员一般都是静态。通过类名调用。
G:按照正常的操作使用方法。
左边:(返回值,及返回值类型,是否静态)
是否静态:如果静态修饰,那么可以通过类名调用。否则,就必须创建对象调用。
是否有明确返回值:如果是void类型,就直接调用即可。否则,就可以输出或者赋值。
右边:(方法名,参数类表)
看方法名:不要写错了。
看参数:看参数类型及个数。
2. 继承(掌握)
2.1何为继承
把多个类中的相同属性和行为进行抽取,封装到一个类中.然后再建立新的类时,不需要重头开始起定义,继承刚才定义的那个类即可.
2.2继承的优点
提高了代码的复用性.同时,使得类与共性属性行为的偶联性降低了.
让类与类之间产生一个关系,是多态的前提.
2.3使用继承的时间
A:当两个类之间存在了is a 的关系,就可以考虑使用继承.就是a类是b类的一种.
B.不要为了获取一个功能而去使用继承,要根据程序的自然属性等判断.
2.4继承的特点
Java只支持但继承,不支持多继承.否则,当多个父类中定义了同名方法,子类调用时出现调用不明确问题.
Java支持多重(多层)继承.
2.5关键字super和this
super是一个关键字,用来代表父亲的存储空间标识.(可以暂时理解为父类的引用.)
super的使用方法和this基本一致.
成员变量:this.变量-本类;super.变量-父类;
构造方法:this(…)本类;super(…)父类
成员方法:this.方法名()本类;super(…)父类
2.6子父类中的成员变量的用法
名称不同,直接找对的调用.
名称相同,子类对象在使用时:
先找子类局部范围,再找子类成员范围,最后找父类成员范围.
2.7子父类中的成员方法使用
名称不同,直接调用名称正确的.
名称相同,子类对象在使用时,先找子类的方法,再找父类的方法.
方法重写:在子类中,如果存在和父类方法声明完全相同的方法,则是子类对父类该方法的重写.(方法声明包括:修饰符,返回值,函数名,参数列表)
注意事项: 父类中的私有方法,final方法不能被重写.
子类方法的访问权限必须大于父类该方法的反问权限.
静态方法只能重写静态方法(基本不出现,静态在详解)
2.8子父类中构造方法的使用
子类的初始化过程,首先会去执行父类的初始化动作.
因为,默认给子类构造方法中加入了一条super().因为,子类继承父类,子类在初始化时,相当有可能会使用到父类的成员变量,这个时候就必须先将父类进行初始化.
如果父类没有无参构造方法(解决方法)
手动使用super调用父类存在的带参构造,来实现初始化.(推荐)
使用this调用本身的其他构造函数.
案例代码:
/*
分析如下需求,写出你分析的类有哪些,以及功能。
最后写一个测试类,针对每个类的功能进行测试。
动物园里有很多种动物:
比如说,狗,猫等。
狗有姓名和年龄,猫也有姓名和年龄。
狗有跑步的方法,猫也有跑步的方法。而且都仅仅是跑步。
狗有吃饭的方法,猫也有吃饭的方法。只不过,狗吃骨头,猫吃鱼。
请用所学知识,对这个问题进行解决。
*/
class Animal {
private String name;
private int age;
Animal() {
}
Animal(String name, int age) {
this.name = name;
this.age = age;
}
void run() {
System.out.println(name+"^^^^^^^^^^^^^^^^"+age+"岁了");
System.out.println("看他跑起来了~!");
}
}
class Cat extends Animal {
Cat() {
}
Cat(String name, int age) {
super(name, age);
}
void eat() {
System.out.println("他是猫,他在吃鱼。");
}
}
class Dog extends Animal{
Dog(){}
Dog(String name,int age){
super(name,age);
}
void eat(){
System.out.println("他是狗,他在吃骨头。");
}
}
public class Day08_HomeWork {
public static void main(String[] args){
Cat c=new Cat("小花",3);
c.run();
c.eat();
Dog d=new Dog("小明",4);
d.run();
d.eat();
}
}
3. 代码块
执行顺序:
静态代码块à构造代码块à构造方法
(静态代码块只执行一次)
4. final关键字
是一个关键字,可以用于修饰类,成员变量,成员方法.
特点:
它修饰的类不能被继承.
它修饰的成员变量就是一个常量.
它修饰的成员方法不能被其子类重写(覆盖).
-----------------------android培训、java培训、java学习型技术博客、期待与您交流!----------------------
详情请查看:http://edu.csdn.net/