JAVA面向对象:继承案例的实现

继承的相关概念:

继承:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承这个新定义的类即可。java通过extends关键字可以实现类与类的继承:

            class  子类名  extends  父类名{ ... }

优点:1.提高了代码的复用性;

           2.提高了代码的维护性;

           3.让类与类之间产生关系,是多态的前提。

继承设计原则:高内聚低耦合。(内聚指自己完成某件事情的能力;耦合指类与类之间的关系。)

注意事项:1.java支持单继承,不支持多继承(C++),即只能有一个父类;

                  2.java支持多层继承,即 class A{}  ---  class B extends A{}  ---  class C extends B{}

                  3.子类只能继承父类的所有非私有的成员;

                  4.子类不能继承父类的构造方法,但可以通过super关键字去访问父类构造方法;

                  5.能自己完成的功能就自己完成,不要为了部分功能而去继承父类


This关键字:

可以看做是本类中的一个对象,用于区分同名的局部变量和成员变量,this指代的是成员变量。

super关键字:

可以看做是父类中的一个引用,用于区分子类中和父类中同名的成员(成员变量,成员方法),super指代的是父类中的值。

1. this和super后面可以跟成员变量和成员方法:

         this.成员变量                    super.成员变量

         this.成员方法()                  super.成员方法()

2. 调用构造方法:

         this(参数):调用本类中的构造方法                

         super(参数):调用父类中的构造方法

注意事项:this和super 不能用于static 方法中。

public class ExtendsDemo02 {
	public static void main(String[] args) {
		DaughterClass d = new DaughterClass();
		d.show("凌天一击!");
	}
}

class DadClass{
	String name = "嘲风";
	public DadClass() {
		System.out.println("hello,我是父类的构造方法");
	}
}
class DaughterClass extends DadClass{
	String name = "七杀";
	public DaughterClass() {
		System.out.println("靠你吉娃,我是子类的构造方法");
	}
	public void show(String name) {
		System.out.println(name);
		System.out.println(this.name);
		System.out.println(super.name);
	}
}

方法的重载和方法的重写的区别:

重写(override):  子类中出现了和父类方法名一样,返回值类型一样,参数列表一样的方法,就叫做方法的重写

重载(overload):  一个类中可以存在多个名字相同的方法,但是必须保证参数的个数或类型不同,与返回值无关

注意事项:

父类中私有方法不能被重写

子类重写父类方法时,访问权限不能更低

父类静态方法,子类也必须通过静态方法进行类似重写的操作。(但其实不叫重写,因为静态方法没有方法重写的特性,多态中证明


==================此处代码在一个文件中写多个类,以便很好的显示类之间的继承关系。=========================

注意事项:一个文件中可以定义多个类,但是必须只能有一个类使用public类, 并且用public修饰的类必须和文件名相同。main 方法必须定义在用public修饰的类中(定义在非public修饰的类中无法执行)

继承中成员变量的关系:先在子类中找,再去父类中找,父类中没有就报错

继承中成员方法的关系:先在子类中找,再去父类中找,父类中没有就报错

继承中构造方法的关系:子类中的构造方法默认会调用父类中无参数的构造方法,如果父类中没有无参数的构造方法,子类必须直                                            接或间接地调用父类 中其他的构造方法 (否则程序不能编译

public class ExtendsDemo {
	public static void main(String[] args) {
		Cat cat = new Cat();                //实例化子类对象,会默认先调用父类中的构造方法
		cat.name = "孤单";                    //子类对象调用父类的属性赋值
		System.out.println(cat.eyesColor);  //输出子类存在的属性信息:金色
		System.out.println(cat.age);       //输出父类中才存在的属性信息:10
		cat.eat();                        //子类对象调用父类方法:[父类成员方法]吃东西
	}
}
//父类/基类/超类
class Animal{
	String name;
	int age = 10;
	String eyesColor = "蓝色";
	public Animal() {
		System.out.println("[父类构造方法]");
	}
	public void sleep() {
		System.out.println("[父类成员方法]");
	}
	public void eat() {
		System.out.println("[父类成员方法]吃东西");
	}
}
//子类/派生类
class Cat extends Animal{
	String eyesColor = "金色";
	public Cat() {
		super();   //默认调用父类的构造方法,可以不写,但依然存在
		System.out.println("[子类构造方法]我是一只小喵喵");
	}
	public void sleep() {
		System.out.println("[子类成员方法]小喵喵在睡觉");
	}
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java面向对象程序设计是一种使用Java语言进行编程的方法。它基于面向对象的编程范式,强调将问题划分为多个独立的对象,并通过对象之间的交互解决问题。 Java是一种通用的、跨平台的高级编程语言,广泛用于各个领域的软件开发。面向对象程序设计是Java的核心特性之一,也是其成功的关键因素之一。通过使用面向对象程序设计,开发人员可以将复杂的问题分解为多个简单的对象,每个对象负责特定的功能,从而提高代码的复用性和可维护性。 Java面向对象程序设计的主要特点包括封装、继承和多态。封装可以将对象的实现细节隐藏起来,只暴露必要的接口给其他对象使用,增加了代码的安全性和可读性。继承允许一个类继承另一个类的属性和方法,从而减少了代码的重复编写,提高了代码的可重用性。多态允许一个对象以不同的形态呈现,提供了更灵活的代码设计和扩展能力。 Java面向对象程序设计的核心概念包括类、对象、方法和属性。类是创建对象的模板,它包含了对象的特征和行为。对象是类的实例,具有类定义的属性和方法。方法是类和对象的行为,用于实现特定的功能。属性是类和对象的特征,描述了它们的状态。 对于初学者来说,掌握Java面向对象程序设计是非常重要的。它不仅能帮助他们理解程序的结构和组织,还能提高他们的问题分析和解决能力。Java面向对象程序设计的基本概念和技巧也适用于其他面向对象的编程语言,为进一步学习和掌握其他编程语言奠定了良好的基础。 总而言之,Java面向对象程序设计是一种强大且灵活的编程方法,它能够帮助开发人员构建可维护和可扩展的软件系统。通过深入学习和应用Java面向对象程序设计的原理和技术,开发人员能够更好地理解和利用Java语言的特性,提高自己的编程水平。 ### 回答2: 《Java面向对象程序设计PDF》是一本关于Java编程语言面向对象程序设计的电子书。它涵盖了Java编程语言的基础知识和面向对象编程的核心概念。该书主要分为以下几个部分: 首先,它介绍了Java语言的基本语法,包括变量、数据类型、运算符等。这些基础知识对于理解后续的面向对象编程非常重要。 其次,它详细介绍了面向对象编程的核心概念,如类、对象、继承、多态等。通过实例和案例分析,读者可以深入理解这些概念的原理和应用。 此外,该书还介绍了Java的常用类库和API,如集合框架、输入输出流等。这些类库和API为Java开发者提供了丰富的功能和工具,能够提高开发效率和代码质量。 最后,该书还涵盖了一些高级主题,如异常处理、多线程编程、网络编程等。这些主题对于开发具有复杂功能和高性能要求的应用程序非常重要。 总体而言,该书全面而系统地介绍了Java面向对象程序设计的基础知识和高级应用。它适合初学者入门以及有一定Java编程经验的开发者进一步提高自己的编程能力。读者可以通过学习该书,掌握Java面向对象编程的核心概念和技术,从而能够设计和开发出功能强大、灵活性好的Java应用程序。 ### 回答3: Java面向对象程序设计(Object-oriented Programming,简称OOP)是一种应用广泛的程序设计模式,使用Java编程语言进行实现Java语言将数据和操作封装在对象中,通过定义类和对象之间的关系来实现程序的设计和开发。 在Java面向对象程序设计中,开发者将问题抽象为对象模型,将问题的属性和行为封装在类中。通过创建对象,可以实例化类,并使用类提供的方法进行操作和交互。这种设计思想使得程序具有更高的可重用性和可维护性。 Java面向对象程序设计的优点之一是封装性。通过将数据和方法封装在对象中,可以隐藏内部实现的细节。这样的设计可以有效地保护数据的完整性和安全性,同时提供更加清晰的接口,方便其他对象与之交互。 另一个优点是继承性。Java面向对象程序设计通过继承机制,实现类与类之间的关联和扩展。继承可以使得代码的重用更加方便,提高了程序的可扩展性。同时,借助多态性的特性,可以进行更灵活的编程和适应不同的需求。 此外,Java面向对象程序设计还具有多线程、异常处理和异常处理等特性,使得程序开发更加灵活和稳定。 总的来说,Java面向对象程序设计是一种强大的编程模式,通过封装、继承、多态等基本特性,使得程序更加模块化、可维护性强、可扩展性高。同时,Java面向对象程序设计还提供了很多其他特性,如多线程和异常处理等,使得程序开发变得更加方便和稳定。对于想要学习Java编程或进行软件开发的人来说,掌握Java面向对象程序设计是非常重要的一部分。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值