继承关系: 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
对象的创建和使用:
1.必须使用new关键字创建对象
2.使用对象(引用)成员变量或引用对象
3.使用对象(引用)方法(参数列表)来调用对象的方法
4.用一类的每个对象有不同的成员变量储存空间
5.同一类的每个对象共享该类的方法
# 构造方法(构造函数)
* 使用new+构造方法创建一个新的对象
* 构造函数是定义在java类中的一个初始化对象的函数
* 构造函数和类的名字相同没有返回值
>例子
public class User {
private String username;
private String passwrod;
public User(String username, String passwrod) {
this.username = username;
this.passwrod = passwrod;
}
}
>内存解析:
基本数据类型一块内存 引用数据类型2快内存 public static void main(String[] args) { User user = new User(); int data = 9; BirrhDate b1 = new BirrhDate(7,7,2011); BirrhDate b2 = new BirrhDate(1,1,2000); user.change1(data); user.change2(d1); user.change3(d2); System.out.println("data"+date); d1.display(); d2.display(); }
类的继承:
java中使用 extends 关键字实现类的继承机制,其语法规则为:
<modifier> class <name> extends <superclass>
通过继承,子类自动拥有了基类的所有成员变量和方法
java 只能单继承。不允许多继承
# 方法的重写:
* 在子类中可以根据需要对基类中继承来的方法进行重写
* 重写方法必须和被重写方法具有相同方法名称,参数列表和返回类型;
* 重写方法不能使用比被重写方法更严格的访问权限
# super关键字:
*在java类中使用supper来引用基类的成分:例如
class Country { String name; void value() { name = "China"; } }
class City extends Country { String name; void value() { name = "Shanghai"; super.value(); //调用父类的方法 System.out.println(name); System.out.println(super.name); }
public static void main(String[] args) {
City c=new City();
c.value();
} }
>运行结果:
Shanghai China
>课堂练习案例
*(1)
以动物为题目:
第一个class样式:
public class Animal {
String dog;
String cat;
String pig;
String sheep;
void aa(){
dog="狗";
cat="猫";
pig=" 猪";
sheep="羊";
}
// public void hh (String dog){
System.out.println("我们是吃草的");
} //重载
public void hh(){
int i=0;
}//
public void hh (){
System.out.println("我们是吃草的");
}
}
第二个class样式:
public class Danimal extends Animal {
String dog;
String cat;
String pig;
String sheep;
void aa(){
dog="狗";
cat="猫";
pig=" 猪";
sheep="羊";
super.aa();//super引用基类型的
System.out.println(dog+cat+pig+sheep);
System.out.println(super.cat+super.dog+super.pig+super.sheep);
}
@Override
//重写
public void hh() {
super.hh();
}
}
//直接打(hh)
{ //重载下面的
public void hh (String dog){
System.out.println("我们是吃草的");
} //重载
public void hh(){
int i=0;
}
}