1.方法的重载
方法的重载与返回值类型无关,他只需要满足两个条件,一是方法名相同,二是参数个数和参数类型不同。
2.方法的递归
方法的递归是指在一个方法的内部调用自身的过程。递归必须要有结束条件,不然会陷入无限递归的状态,永远无法结束调用。
3.构造方法
方法名与类名相同
在方法名的前面没有返回值类型的声明
在方法中不能使用return语句返回一个值,但是可以单独写return语句来作为方法的结束
4.构造方法的重载
只要每个构造方法的参数类型或参数个数不同即可。
5.this关键字
关键字this用来代指当前对象,用于在方法中访问对象的其他成员
调用成员变量,解决与局部变量名称冲突问题
使用this调用构造方法是应注意:
只能在构造方法中使用this调用其他的构造方法,不能在成员方法中使用
在构造方法中,使用this调用构造方法的语句必须是该方法的第一条执行语句,且只能出现一次
6.static关键字(用于静态方法)
它只能修饰类的成员
只能修饰成员变量,不能修饰局部变量
7.继承的概念
构建出来的新类被称为子类,现有的类称为父类或基类,子类会自动拥有父类所有可继承的属性和方法
类的修饰符是可选的,用来指定类的访问权限
extends关键字实现继承关系
Java中,类只支持单继承,不允许多继承,也就是一个类只能有一个直接父类
多个类可以继承同一个父类
多层继承是可以的,即一个类的父类可以再去继承另外的父类
8.重写父类方法
子类中重写的方法需要和父类被重写的方法具有相同的方法名,参数列表以及返回值类型
子类重写父类方法时,不能使用比父类中被重写的方法更严格的访问权限
9.super关键字
用来访问父类的成员
package net.xsp.lesson09.oriented02;
/**
-
功能:动物类(继承)
-
作者 :Stranger_top
-
日期:2019年4月28日
*/
public class Animal {
private String name;
private int age;public String getName() {
return name;
}public void setName(String name) {
this.name = name;
}public int getAge() {
return age;
}public void setAge(int age) {
this.age = age;
}public void move(){
System.out.println(name + “在动…”);
}public void eat(){
System.out.println(name + “爱吃…”);
}
}
package net.xsp.lesson09.oriented02;
/**
-
功能:继承Animal类创建Cat子类
-
作者:Stranger_top
-
日期:2019年4月28日
/
public class Bird extends Animal{
/*- 子类添加的新方法
*/
public void play() {
System.out.println(super.getName() + “在玩树枝。”); // super指父类
}
/**
- 子类改写父类的同名同参方法(多态)
*/
@Override
public void move() {
System.out.println(getName() + “在飞”);
}
/**
- 子类改写父类的同名同参方法(多态)
*/
@Override
public void eat() {
System.out.println(getName() + “在吃虫子”);
}
}
- 子类添加的新方法
package net.xsp.lesson09.oriented02;
/**
-
功能:继承Animal类创建Cat子类
-
作者:Stranger_top
-
日期:2019年4月28日
/
public class Cat extends Animal{
/*- 子类添加的新方法
*/
public void play() {
System.out.println(super.getName() + “在玩老鼠。”); // super指父类
}
/**
- 子类改写父类的同名同参方法(多态)
*/
@Override
public void move() {
System.out.println(getName() + “在走路”);
}
/**
- 子类改写父类的同名同参方法(多态)
*/
@Override
public void eat() {
System.out.println(getName() + “在吃鱼”);
}
}
- 子类添加的新方法
package net.xsp.lesson09.oriented02;
/**
-
功能:继承Animal类创建Cat子类
-
作者:Stranger_top
-
日期:2019年4月28日
/
public class Dog extends Animal{
/*- 子类添加的新方法
*/
public void play() {
System.out.println(super.getName() + “在玩骨头。”); // super指父类
}
/**
- 子类改写父类的同名同参方法(多态)
*/
@Override
public void move() {
System.out.println(getName() + “在走路”);
}
/**
- 子类改写父类的同名同参方法(多态)
*/
@Override
public void eat() {
System.out.println(getName() + “在吃骨头”);
}
}
- 子类添加的新方法
package net.xsp.lesson09.oriented02;
public class TestCat {
public static void main(String[] args) {
Cat cat = new Cat();
cat.setName(“欢欢”);
cat.setAge(2);
// 调用父类有的方法,(改写)
cat.move();
cat.eat();
// 调用父类没有的方法
cat.play();
}
}