`

Java访问控制权限在继承中的运用

阅读更多

 

下表为Java访问控制符的含义和使用情况

   类内部  本包  子类 外部包 
public   √  √  √  √
protected  √  √  √  ×
default   √  √  ×  ×
 private  √  ×  ×  ×

 

继承:

public、protected修饰的方法可以被子类继承,同一个包下,默认的也可以被继承。

 

如果子类重写,要修改方法的访问权限,子类方法的访问权限必须比父类大。如下:父类方法为protected修饰,子类继承该方法并重写,可以定义public类型。

 

class parent{
	protected void f1(){
		System.out.println("parent f1()");
	}
}
class Child extends parent{
	public void f1(){
		System.out.println("child f1()");
	}
}

 

 

final修饰的方法无法被子类重写。

 

class parent{
	//可以继承,但是无法被子类覆盖
	public final void f2(){
		System.out.println("parent f2()");
	}
}
class Child extends parent{
        //error
	public void f2(){
		System.out.println("child f2()");
	}
}

 

final修饰的方法不可以被子类重写。区分是否是从父类继承过来的方法。

 

class parent{
	//private修饰的方法不是父类的接口的一部分,无法被子类继承
	private final void f3(){
		System.out.println("parent f3()");
	}
}
class Child extends parent{
	//不是从父类继承的方法,仅仅是生成的新方法。
	private final void f3(){
		System.out.println("child f3()");
	}
}

 

public class Person { 
	private void f(){
		System.out.println("person");
	}
	public static void main(String[] args) { 
		Person p = new Chinese();
	       p.f();//调用父类的方法
	} 
} 
class Chinese extends Person { 
	public void f(){//不是从父类继承过来的方法,是全新的。
		System.out.println("chinese");
	}
}

 

public class Person { 
	public static void main(String[] args){
		Parent p = new Child();
		//p.g();//error 父类中没有这个方法
	}
} 
class Parent{
	void f(){
		System.out.println("parent f()");
	}
}
class Child extends Parent{
	void f(){
		System.out.println("child f()");
	}
	void g(){
		System.out.println("child g()");
	}
}

 

 

 private属于final方法。

分享到:
评论

相关推荐

    Java访问权限控制源代码

    在提供的"Java访问权限控制源代码"中,可能包含示例类,这些类展示了如何使用不同的访问修饰符来控制类、变量和方法的可见性。`readme.md`文件可能包含了代码的介绍和使用指南。 通过学习和理解Java的访问权限控制...

    24_继承的由来 和 继承的访问控制权限 video

    总之,继承是Java中实现代码复用和提高代码组织性的重要工具,而理解并合理运用访问控制权限则能确保代码的安全性和封装性。通过本视频课程,学习者将能够更深入地掌握这两个概念,并在实际编程中灵活应用。

    java 访问权限验证

    在Java编程语言中,访问权限控制是至关重要的一个部分,它确保了代码的封装性和安全性。本文将深入探讨Java中的访问权限验证,包括其概念、种类以及如何在实践中应用。 **一、访问权限概述** Java提供了四种不同的...

    Java访问权限控制源代码.zip

    这个"Java访问权限控制源代码.zip"压缩包可能包含了示例代码,用于演示Java中的不同访问修饰符如何工作以及如何实施访问控制。现在,我们将深入探讨Java中的访问权限控制机制。 首先,Java提供了四种访问级别: 1....

    浅析Java中的访问权限控制Java开发Java经验技巧共

    本文将深入探讨Java中的访问权限控制,以及其在实际开发中的应用和重要性。 首先,Java提供了四种不同的访问级别,分别是:public、protected、默认(包级私有)和private。这些访问修饰符用于定义类、接口、方法和...

    基于java的访问权限控制源代码.zip

    在Java编程语言中,访问权限控制是面向对象编程的一个核心概念,它确保了代码的安全性和封装性...通过实践,你会更好地掌握Java的访问权限控制机制,以及如何在实际项目中合理应用这些知识,以提高代码的质量和安全性。

    基于Java的访问权限控制源代码.zip

    通过分析这个压缩包中的源代码,我们可以深入理解Java的访问权限控制机制,并学习如何在实际项目中应用这些原则,以确保代码的健壮性和安全性。在实践中,合理使用访问权限不仅可以保护数据,还可以提高代码的可维护...

    理解java中的类的各种权限修饰符

    本文将详细探讨Java中的五种权限修饰符:`public`、`protected`、`default`(也称为包访问权限)、`private`以及`static`修饰类的情况,并通过实例来展示这些修饰符的具体应用。 #### 1. Public - **概述**: - `...

    Java访问权限控制源代码.rar

    本资源"Java访问权限控制源代码.rar"可能包含了一系列示例,用于展示如何在Java中应用不同的访问修饰符,以及它们如何影响类、方法和变量的可见性。现在,我们将深入探讨Java的访问权限控制。 1. 访问修饰符概述: ...

    Java中的访问控制

    在编程领域,特别是Java语言中,访问控制是面向对象编程的一个关键特性,它涉及到类、接口、方法和变量的可访问性。访问控制是封装的一部分,封装是面向对象编程的三大基本特征之一,另外两个是继承和多态。封装的...

    25_继承的由来 和 继承的访问控制权限_2 video

    视频中可能会通过示例展示如何在继承关系中使用这些访问控制权限,并解释为何在特定情况下选择某种访问权限。例如,当我们希望子类能够重写父类的方法,但又不希望这个方法被外部类随意调用时,通常会将其设为...

    java开发的权限访问控制系统.zip

    这个名为"java开发的权限访问控制系统.zip"的压缩包很可能包含了一个完整的Java实现的权限管理解决方案,用于管理和控制用户对系统资源的访问权限。下面我们将深入探讨Java中的权限访问控制相关知识点。 1. **访问...

    Java中extends类的继承

    综上所述,Java中`extends`关键字用于实现类的继承,它提供了代码复用、多态等面向对象编程的关键特性,同时也规定了如单一继承、访问权限控制等一系列规则,以此来维护代码的清晰性和可维护性。理解并熟练运用这些...

    Java开发小案例之权限控制

    在Java编程语言中,权限控制是一项至关重要的任务,它...通过深入学习和实践这个Java开发小案例,你将掌握如何在实际项目中运用访问权限控制,提升代码的安全性和可维护性。对于初学者来说,这是一个非常有价值的起点。

    java中protected的权限

    在Java编程语言中,访问修饰符是控制类成员(如变量、方法和构造器)访问权限的关键要素。`protected`是Java中四种访问权限之一,它在类的封装和继承中扮演着重要的角色。本篇文章将深入探讨`protected`关键字的含义...

    访问权限及继承

    在编程世界中,访问权限控制是至...在给定的文档"三访问权限及继承.doc"和可能的补充资料"third"中,可能会更详细地阐述这些概念,并通过实例解释如何在实际代码中应用这些原则。建议阅读这些文件以获得更深入的理解。

    Java零基础-访问控制权限修饰符.md

    若希望方法能够在同一包内的其他类中调用,则可以省略访问控制权限修饰符以使用默认的包级访问权限。 #### 如何合理选择适当的访问控制权限修饰符来保护数据和封装代码 1. **原则一:最小权限原则** —— 尽可能地...

    基于Java的源码-访问权限控制源代码.zip

    综上所述,这个压缩包中的源代码可能涵盖了这些概念,并通过具体的示例展示了如何在实际编程中应用Java的访问权限控制。通过学习和分析这些源码,开发者可以更深入地理解Java的访问控制机制,从而编写出更安全、更...

    关于Java访问权限表的一个总结

    在Java编程语言中,访问权限控制是至关重要的,它决定了类、接口、字段以及方法的可见性和可访问性。理解Java的访问权限表对于编写健壮、安全且易于维护的代码至关重要。以下是对这一主题的详细说明: 1. **公共...

Global site tag (gtag.js) - Google Analytics