`
李灵晖-raylee
  • 浏览: 135855 次
博客专栏
Group-logo
从头认识java
浏览量:0
文章分类
社区版块
存档分类
最新评论

从头认识java-6.2 继承(Generalization)(1)

 
阅读更多

这一章节我们来聊聊继承(Generalization)。

1.概念

继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

2.特点

子类继承父类public和protected的属性域与方法,但不继承private的属性域和方法。

当子类基础父类的方法时,如果需要,可以覆盖(@override),重新实现。

下面是一个例子

package com.ray.testobject;

public class Test {

	public static void main(String[] args) {
	}
}

class Father {
	private int id;

	protected String name;

	public int sex;

	private void methodA() {
	}

	protected void methodB() {
	}

	public void methodC() {
	}

	public Father() {
		System.out.println("create father");
	}
}

class Sub extends Father {
	@Override
	protected void methodB() {
		// TODO Auto-generated method stub
		super.methodB();
	}

	@Override
	public void methodC() {
		// TODO Auto-generated method stub
		super.methodC();
	}

	public Sub() {
		System.out.println("create Sub");
		// System.out.println(id);//报错
		System.out.println(name);
		System.out.println(sex);
	}
}


3.跟父类的关系

我们修改上面的代码来解释,is-a 是一个和is-like-a 像一个

package com.ray.testobject;

public class Test {

	public static void main(String[] args) {
	}
}

class Father {
	private int id;

	protected String name;

	public int sex;

	private void methodA() {
	}

	protected void methodB() {
	}

	public void methodC() {
	}

	public Father() {
		System.out.println("create father");
	}
}

class Sub1 extends Father {
	public Sub1() {
		System.out.println("create Sub");
		// System.out.println(id);//报错
		System.out.println(name);
		System.out.println(sex);
	}
}

class Sub2 extends Father {
	private void say() {
	}

	public Sub2() {
		System.out.println("create Sub");
		// System.out.println(id);//报错
		System.out.println(name);
		System.out.println(sex);
	}
}


我们来看一下上面的代码,sub1是直接继承father,而且没有其他的不同的方法,因此sub1是father的子类,是is-a关系;

而sub2,除了继承father,还多了一个say 的方法,因此它跟father不完全相同,因此,它虽然是father的子类,但它们直接的关系是is-like-a的关系。

总结:我们这一章节主要讨论了继承的概念、特性以及子类与父类之间的关系。

这一章节就到这里,谢谢。

-----------------------------------

目录

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    清华大学崔鹏等最新「分布外泛化(Out-Of-Distribution Generalization)」 综述论文

    分布外泛化(Out-of-Distribution Generalization, OOD)是深度学习领域的一个关键挑战,尤其是在现实世界的应用中,训练数据与测试数据的分布往往不完全相同,即非独立同分布(i.i.d.)假设通常无法满足。这篇由清华...

    weak-to-strong-generalization.pdf

    作者发现,即使使用弱模型生成的标签来微调强模型,强模型仍然可以表现出更好的性能,称为弱到强的一般化(weak-to-strong generalization)。这种现象表明,即使人类不能可靠地评估超人类模型的行为,也可以使用弱...

    林轩田《机器学习基石》课程笔记6 -- Theory of Generalization1

    当N = k时,存在k-1种dichotomies,因为这时首次出现不能被完全划分的情况。对于更复杂的N > k的情况,通过归纳法进行推导,例如以B(4, 3)为例,通过对11种dichotomy的分组和分析,可以找到B(4, 3)与B(3, x)之间的...

    工程数据分析方法11-theory of generalization-20230426.pdf

    泛化能力的理论(Theory of Generalization)是理解机器学习模型如何从训练数据中学习并预测新数据的关键。本讲座主要讨论了限制断点(Restriction of Break Point)以及边界函数(Bounding Function)的基本和归纳...

    JAVA编程课件 Ch05-继承

    这种从一般到具体的层次结构,在面向对象编程中被称为**泛化-特化**(Generalization-Specialization)。在这个过程中,“车辆”是一个泛化的概念,而“汽车”、“卡车”则是特化的概念。 #### 继承的概念演变 ...

    Person30K A Dual-Meta Generalization Network for Person Re-Ident

    1) 大规模:包含138万张图像,涉及30,000个不同的身份。 2) 大规模捕获系统:使用6,497个摄像头在89个不同地点部署,模拟真实世界的复杂环境。 3) 样本多样性:包括多样的背景和各种人物姿态,提高了模型训练的挑战...

    Deep Learning: Practical Neural Networks with Java 完整高清英文azw3版

    Deep Learning: Practical Neural Networks with Java by Yusuke Sugomori English | 8 Jun. 2017 | ASIN: B071GC77N9 | 1057 Pages | AZW3 | 20.28 MB Build and run intelligent applications by leveraging key ...

    算法可视化视频教程

    包含视频和源码: 02-Java-Swing-Basics 03-Probability-Simulation 04-Sort-Visualization 05-Maze-Solver 06-Maze-Generalization 07-Mine-Sweeper 08-Move-the-Box-Solver 09-Fractal-Drawing

    看的见的算法 7个经典应用诠释算法精髓(5)-随机迷宫生成

    6-1 什么是迷宫.mp4 6-2 生成迷宫基础.mp4 6-3 深度优先遍历生成迷宫.mp4 6-4 非递归深度优先遍历生成迷宫.mp4 6-5 广度优先遍历生成迷宫.mp4 6-6 随机队列生成迷宫.mp4 6-7 迷宫生成的迷雾效果.mp4 6-8 生成随机性...

    Evaluation-of-Complexity-Measures-for-Deep-Learning-Generalization-in-Medical-Image-Analysis:通过医学图像上的深度学习模型报告复杂性度量与泛化性能之间关系的实证研究

    医学图像分析中深度学习泛化的复杂性评估方法 此存储库中的代码基于我们的经验研究,该研究调查了针对乳房超声图像的监督深度学习分类器的复杂性度量与泛化能力之间的相关性。 该研究进行了。 用于医学图像分析的...

    Domain Generalization A Survey.pdf

    机器视觉和机器学习中的Domain Generalization研究综述 Domain Generalization(域泛化)是机器学习和机器视觉领域中一个热门的研究方向。该技术旨在解决机器学习模型在不同环境、场景或数据分布下无法泛化的问题。...

    Lax pair, Darboux transformation and soliton solutions for the (2+1)-dimensional generalization of shallow water wave equation

    (2+1)维广义浅水波方程的Lax对,Darbuox变换和孤子解,闻小永,高以天,利用奇异流形方法构造了(2+1)维广义浅水波方程的Lax和相关的Darbuox变换,通过使用得到的Darbuox变换,得到了该方程的一次和二次迭代解以及

    Generalization in Deep Learning.pdf

    generalization theory to partially address an open problem regarding the generalization of deep learning. Unlike previous bound-based theory, our main theory is quantitatively as tight as possible ...

    Generalization in Machine Learning via Analytical Learning Theory.pdf

    1) to utilizethe qualities of each learned representation onthe path from raw inputs to outputs in representation learning, 2) to guarantee good generalization errors possibly with arbitrarily rich ...

    GENERALIZATION OF COMPUTER-ASSISTED PROSODY TRAINING

    Experiment 1, using a pretest-posttest design, provided native English-speaking learners of French with 3 weeks of training focused on prosody using a real-time computerized pitch display. Multiple ...

    A New Fuzzy Stacked Generalization Technique

    1. 堆叠泛化(Stacked Generalization)算法:FSG技术是基于堆叠泛化算法的思想。堆叠泛化由Wolpert提出,并被许多研究者采用。其核心思想是通过以多种方式组合多个分类器来获得比任何单独分类器更优的性能。这表明...

    Java 基础(1-8) - 面向对象.pdf

    泛化关系(Generalization)代表继承关系,如`Cat`继承自`Animal`;实现关系(Realization)用于表示接口与类之间的关系,类实现了接口中定义的所有方法;聚合关系(Aggregation)表示整体与部分的关系,但部分可以...

    java必记单词

    ### Java 必记单词解析 #### AbstractWindowToolkit (AWT) 抽象窗口工具包 - **定义**:AWT 是 Java 提供的一组用于创建图形用户界面 (GUI) 的类库,它允许开发者创建独立于操作系统的窗口、按钮、菜单等控件。 - *...

    java之UML类图元素

    - **泛化(Generalization)**:泛化表示继承关系,UML中用箭头表示,Java中用`extends`关键字实现。 - **实现(Realization)**:实现关系表示类实现了接口的约定,Java中用`implements`关键字表示。 理解并熟练运用...

Global site tag (gtag.js) - Google Analytics