`
javawebsoa
  • 浏览: 424267 次
社区版块
存档分类
最新评论

Java学习笔记(类的可见性)

 
阅读更多

1)类的可见性:public;友好的(无关键字);protected;private;
public:公开类,在包内,包外都可见,是可见性级别最高的;
友好的:也是默认的安全级别,包外不可见,包内可见.用在内部类同protected级别相同.
protected:保护级,只能用于内部类.对类及子类(包内子类,包外子类不可见)和包内其它类可见.
private:私有级,只能用于内部类,只对类本身可见。
类的可见性还是比较复杂,特别是内部类嵌套后,但基本规则还是上面所述,因此建议在写类时,如果嵌套,
不要超过2层,即只要嵌套一层即可。这样处理比较简单,没必要多次多可见性嵌套把事情弄复杂。
下面是示例代码:

public class MyClass02 {
	//保护级对相同包中子类和友好类可见
	protected class MyClass03{

	}
	//下面的类只对本类可见,在类外无法访问呢.
	private class MyClass04{

	}
	//同protected.
	class MyClass05
	{
		
	}
	//对子类可见,包内,包外其它类都可见.
	public class MyClass06
	{
		
	}
}
class MyClass021 extends MyClass02
{
	MyClass03 theA =new MyClass03();
	MyClass05 the05=new MyClass05();
	
}
class MyClass11
{
	MyClass03 theA=new MyClass02().new MyClass03();
}
//位于另外一个包.该类继承与MyClass02
class MyClass022 extends MyClass02
{
	public void Do()
	{
		//MyClass03,MyClass05不可见,下面语句编译有错.
		//MyClass03 theA =new MyClass03();
		//MyClass05 the05=new MyClass05();
		
		//下面语句可以.
		MyClass06 the6=new MyClass06();
	}
	
}


2)类的成员可见性:
public:公共成员,其它类可见(包内,包外都可见),包内包外子类都可见;内部嵌套类可见;
protected:保护级,包内其它类可见,包内包外子类都可见;内部嵌套类可见;
无关键字:友好的,包内其它类可见,但包内包外子类都不可见;内部嵌套类可见;无继承性。
private:私有的,其它类不可访问,但对该类的内部类可见;
另外需要注意的时,内部类可以定义在类的方法里,这个时候的可见性是同作用域密切相关的.一般情况
下建议不要这样去使用类,会增加维护和理解的困难.

分享到:
评论

相关推荐

    良葛格Java学习笔记(完整版)

    此外,笔记可能还会介绍接口和抽象类的区别,以及如何利用访问修饰符来控制类的可见性和访问权限。 在内存管理方面,笔记可能会涵盖Java的垃圾回收机制,解释了如何自动管理内存,避免内存泄漏,以及如何理解和使用...

    JAVA学习笔记

    JAVA学习笔记涵盖了Java编程语言中多个核心概念和特性。通过讲解this关键字、继承、static关键字和代码块、final关键字、多态、方法重写、抽象类与接口、封装与隐藏、垃圾回收、类组合、包装类、对象处理、类成员、...

    Java学习笔记+程序员生涯

    ### Java学习笔记+程序员生涯 #### 一、面向对象编程基础 **面向对象与面向过程对比** 面向对象编程(Object-Oriented Programming, OOP)是现代软件开发中的一种核心编程范式,它强调以对象作为基本单位进行设计...

    尚硅谷JAVA基础笔记吐血整理

    它们决定了类、方法、属性的可见性,影响了代码的封装性和耦合度。 【构造器】 构造器用于初始化新对象,如果没有显式定义,Java会自动生成一个无参构造器。构造器可以重载,即在同一个类中可以定义多个构造器,...

    Think In Java 学习笔记

    《Think In Java 学习笔记》 在Java编程语言中,对象是核心概念,它们代表着程序中的实体和行为。对象具有状态、行为和标识,是现实世界概念在软件中的映射。对象的状态由其内部的属性(或称数据成员)表示,行为则...

    java学习笔记2

    ### Java学习笔记2知识点梳理 #### 一、内部类的好处 内部类是在另一个类的内部定义的类。这种设计模式提供了几个重要的好处: 1. **封装性**:内部类可以访问外部类的私有成员(包括变量和方法),这使得内部类...

    Java并发编程学习笔记.rar

    这本"Java并发编程学习笔记"可能是作者在深入研究Java并发特性、工具和最佳实践过程中积累的心得体会。下面,我们将根据这个主题,探讨一些关键的Java并发编程知识点。 1. **线程与进程**:在多任务环境中,线程是...

    java学习笔记 绝对好的笔记

    这份“java学习笔记”涵盖了从基础到高级的诸多主题,旨在为初学者提供一个全面的学习路径。 1. **Java概述**:Java是由Sun Microsystems(现为Oracle Corporation的一部分)开发的,它的设计目标是“一次编写,...

    java学习笔记.rar

    这份“java学习笔记.rar”包含了关于Java基础知识的详尽记录,是初学者或进阶者巩固概念的理想资源。以下是笔记中可能涵盖的关键知识点: 1. **Java基础**:Java的基础语法包括变量声明、数据类型(如基本类型和...

    JAVA 多线程学习笔记

    这篇学习笔记将深入探讨Java多线程的核心概念、实现方式以及相关工具的使用。 一、多线程基础 1. 线程与进程:在操作系统中,进程是资源分配的基本单位,而线程是程序执行的基本单位。每个进程至少有一个主线程,...

    我的java学习笔记1

    这份"我的java学习笔记1"很可能包含了初学者在接触Java时会遇到的基础概念和关键知识点。下面,我们将深入探讨Java的一些核心特性以及可能在笔记中涉及的内容。 1. **Java简介**:Java是由Sun Microsystems公司(现...

    java学习笔记,疯狂讲义

    在这个“Java学习笔记,疯狂讲义”中,我们可以期待涵盖Java的基础到高级概念。 首先,基础部分会讲解Java的历史和特点,包括其创始人James Gosling,以及为什么Java被称为“一次编写,到处运行”的语言。接下来,...

    CoreJava学习笔记.doc

    《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...

    JAVA学习笔记1

    ### JAVA学习笔记1:深入解析J2EE框架与关键技术 #### J2EE模式与Value Object概念 在JAVA学习之旅中,深入理解J2EE(Java 2 Platform, Enterprise Edition)框架是至关重要的一步。J2EE是专为开发企业级应用而...

    java笔记 java笔记

    Java提供了四种访问修饰符:`public`、`private`、`protected`和`default`,用于控制类、方法和变量的可见性。 ##### 6.7 构造方法 构造方法是一种特殊的方法,用于初始化对象。 ##### 6.8 封装 封装是指隐藏...

    Java学习笔记(详细)

    以上只是Java学习笔记的一部分,深入学习还需要涵盖更多主题,如IO流、网络编程、反射、设计模式等。Java的深度和广度使其成为企业级应用开发的重要选择,熟练掌握Java能为程序员的事业发展打下坚实基础。

    Java语言学习笔记

    10. **访问修饰符**:public, private, protected以及默认的访问权限,理解它们对类成员的可见性。 11. **构造器**:类的实例化过程,构造函数的作用及用法。 12. **封装**:如何使用封装来隐藏数据,保护对象的...

    java学习笔记(经典)

    ### Java学习笔记经典知识点解析 #### 一、Java的核心概念:一切皆对象 在Java语言中,几乎所有事物都被视为对象。这种设计哲学是基于面向对象编程(OOP)原则的,它将现实世界中的实体抽象为类和对象的形式,使得...

    java之jvm学习笔记五(实践写自己的类装载器)

    这个“java之jvm学习笔记五(实践写自己的类装载器)”很可能是对这一主题的详细探讨。 类装载器在Java中的主要职责是动态加载类到JVM中。Java的类装载器分为三个基本层次:启动类装载器(Bootstrap ClassLoader)、...

Global site tag (gtag.js) - Google Analytics