- 类的继承(子类会继承父类的所有属性和方法)
package duixiang1;
//继承
public class Example01 {
public static void main(String[] args) {
Dog dog=new Dog();//调用Dog的对象
dog.name="沙皮狗";//赋值
dog.printName();//本有
dog.shout();//继承
}
}
class Animal{
String name;
void shout() {
System.out.println("动物发出叫声");
}
}
class Dog extends Animal{ //继承
public void printName() {
System.out.println("name="+name);
}
}
- 重写父类方法(子发方法和父类的一样即重写)
package duixiang1;
//重写
public class Example02 {
@Override
public String toString() {
return "Example02 [getClass()=" +"fasdf"+ ", hashCode()=" + ", toString()=" + super.toString()
+ "]";
public static void main(String[] args) {
Dog d=new Dog();
d.shou();
System.out.println(d.toString());
}
}
class Animal{
void shou() {
System.out.println("动物发出的叫");
}
}
class Dog extends Animal{
void shou() { //重写父类的方法
System.out.println("汪汪");
}
}
3.super访问父类的属性,方法,构造方法
package duixiang2;
public class Example04 {
public static void main(String[] args) {
dust m2=new dust();
}
}
class dust{
public void m1( String name) {
System.out.println("我是一只"+name);
}
public void m3() {
System.out.println("fas");
}
}
class Cat extends dust{
void dust() {
}
}
4.final修饰类不能被继承,修饰方法不能被重写,修饰变量只能赋值一次
final修饰变量
package duixiang2;
//final的使用
public class Example05 {
public static void main(String[] args) {
Apple m2=new Apple();
m2.m1();
}
}
class Apple{
final String name="冷小雨";
public void m1() {
System.out.println("我叫"+name);
}
}
- abstract类和interface接口,inplements实现接口
(abstractl类可以属性,方法,抽象方法,如果abstract类都为抽象方法可以用Interface类)
package duixiang3;
public class Example10 {
public static void main(String[] args) {
Dog dog=new Dog();
dog.breath();
dog.run();
}
}
//定义接口
interface Animal{
//定义全局属性,其默认修饰为public static final
String An="动物的行为";
//定义抽象方法,其默认修饰为public avstract
void breath();
void run() ;
}
class Dog implements Animal{
public void run() {
System.out.println(An+"狗在奔跑");
}
public void breath() {
System.out.println(An+"狗在呼吸");
}
}