Java基础(面向对象 继承、抽象类)

这篇博客深入探讨了Java中的继承概念和特点,包括继承的定义格式、使用案例,以及它带来的好处和注意事项。同时,文章还详细讲解了抽象类的产生、定义格式、使用方式和设计思想,并通过员工类系列的综合案例分析,阐述了继承和抽象类在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重点
1、继承
2、抽象类
3、综合案例—员工类系列定义

1.继承的概述

A:继承的概念
    *a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系
    *b:在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,
        构建出来的新类被称作子类,现有类被称作父类
B:继承关系的子类特点
    *a:子类会自动拥有父类所有非private修饰的属性和方法

2.继承的定义格式和使用

A:继承的格式
    class 子类 extends 父类 {}
B:雇员(Employee)与研发部员工(Developer)案例:
    *cn.itcast.demo01包下:
    *Employee.java:
		 /*
		 * 定义员工类Employee
		 */
		class Employee {
			String name; // 定义name属性
			
			public void work() {// 定义员工的工作方法
				System.out.println("尽心尽力地工作");
			}
		}
    *Developer.java:
	    /*
		 * 定义研发部员工类Developer 继承 员工类Employee
		 * 继承了父类中所有非private修饰的成员变量
		 */
		class Developer extends Employee {
			// 定义一个打印name的方法
			public void printName() {
				System.out.println("name=" + name);
			}
		}
    *测试员工类与研发部员工类:
        /*
	     * 定义测试类
         */
		public class Example01 {
			public static void main(String[] args) {
				Developer d = new Developer(); // 创建一个研发部员工类对象
				d.name = "小明"; // 为该员工类的name属性进行赋值
				d.printName(); // 调用该员工的printName()方法
				d.work(); // 调用Developer类继承来的work()方法
			}
		}
    *通过子类对象既可以调用自身的非private修饰的成员,也可以调用父类的非private修饰的成员

3.继承的好处

A:继承的好处:
    *1、继承的出现提高了代码的复用性,提高软件开发效率。
    *2、继承的出现让类与类之间产生了关系,提供了多态的前提。

4.继承的注意事项

A:继承的注意事项
	 *a:在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类,例如下面这种情况是不合法的。
	     class A{} 
	     class B{}
	     class C extends A,B{}  // C类不可以同时继承A类和B类
	  假如支持多继承例如:
         class A{
         	int a=3;
            public void method(){

            }
         } 
	     class B{
	     	int a=5;
	     	public void method(){

	     	}
	     }
	     class C extends A,B{
            
	     } 
	     class Demo{
	     	public static void main(String[] args){
	     		C c=new C();
	     		System.out.println(c.a);//到底是调用A的还是B的成员变量??无法确定
	     		c.method();//到底是调用A的还是B的成员方法??无法确定
	     	}	
	     }
   
      *b:多个类可以继承一个父类,例如下面这种情况是允许的(就像你爹可以多个儿子,但是这些儿子都只有一个爹)
	     class A{}
	     class B extends A{}
	     class C extends A{}   // 类B和类C都可以继承类A
	 
     *c:在Java中,多层继承是可以的,
        即一个类的父类可以再去继承另外的父类,
        例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。下面这种情况是允许的。
	     class A{}
	     class B extends A{}   // 类B继承类A,类B是类A的子类
	     class C extends B{}   // 类C继承类B,类C是类B的子类,同时也是类A的子类
     
      *d:在Java中,子类和父类是一种相对概念,
        也就是说一个类是某个类父类的同时,也可以是另一个类的子类。
        例如上面的这种情况中,B类是A类的子类,同时又是C类的父类。

5.继承的体系.avi 11:00

A:继承的体系:
					                  动物(吃)
					                    |
					           -------------------------
					           |                        |
					        猫科动物(吃,胎生)      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值