继承:
即子类继承父类的特性并拓展之。
我现在有三个类:
GrandFather Father Son
其中的关系是一级继承一级。
其中都有一个共有的方法:
public void tellStory()
直接上代码:
GrandFather类:
package demo;
public class GrandFather {
protected void tellStory() {
System.out.println("你爷爷我......");
}
}
Father类:
package demo;
public class Father extends GrandFather {
protected void tellStory() {
System.out.println("你爸爸我......");
}
}
Son类:
package demo;
public class Son extends Father {
public void tellStory() {
System.out.println("我......");
}
}
第一个Test类:
package demo;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Son son = new Son();
son.tellStory();
}
}
第二个Test类:
package test;
import demo.Father;
import demo.Son;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Son son=new Son();
son.tellStory();
}
}
1.子类只能把父类方法可视权限放大 不能缩小。
如:
tellStory()在爷爷类中为public,爸爸类就不能使之为protected或者private
2.public private protected:
public:在任何处都可以调用
private:只能在本类中调用
protected:子类中或者同一个包内使用。
以下说的更好:
http://blog.csdn.net/ladofwind/archive/2006/06/05/774072.aspx
在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友。
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为friendly
3.如何在Java的孙子类中直接引用到爷爷类的方法呢?
分享到:
相关推荐
这四个作用域的可见范围如下表所示。 说明:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly ...
Java 访问修饰符(public、protected、默认、private) Java 中的访问修饰符是 Java 语言中一种基本概念,用于控制类、方法、变量、构造方法等成员的访问权限。 Java 中有四种访问修饰符:public、protected、默认...
### Delphi中的Public,Private,Protected,Published作用域详解 #### 一、引言 在面向对象编程中,封装是核心概念之一,它通过限制对类内部数据的直接访问来提高代码的安全性和可维护性。Delphi作为一种强大的...
在C#等静态类型语言中,public、private和static是访问修饰符,用于控制类成员的可见性和作用域。而在JavaScript中,由于其原型继承的特性,我们通常使用函数作用域和闭包来模拟这些行为。 下面我们将基于提供的...
C++是一种面向对象的编程语言,它提供了三种不同的继承方式:public、protected和private,每种方式对基类成员在子类中的访问权限有不同的影响。理解这些继承方式及其组合结果对于编写可维护和安全的代码至关重要。 ...
它们的作用是限制类的成员(数据成员和成员函数)在不同作用域内的可访问性,从而实现数据封装和信息隐藏。 1. `public`:公共成员。类的`public`成员可以在类的任何地方,包括类的外部,被自由地访问。在给定的...
其中,最为基础且核心的概念之一便是作用域,具体包括`public`、`private`、`protected`以及默认(通常被非正式地称为`friendly`)。本文将深入探讨这四种作用域的具体含义及应用场景。 #### 二、作用域概述 - **...
JAVA不支持多重继承,但是可以通过接口和内部类实现多重继承的效果。 3. 变量声明: 在JAVA中,变量声明需要指定类型,例如`public final int MAX_LENGTH=100`。 4. 变量的作用域: JAVA中的变量可以是实例变量或...
Java是一种面向对象的编程语言,它的类修饰符有public、default、private、protected等,但是为什么Java的外部类不能使用private和protected进行修饰呢?今天我们就来探讨这个问题。 首先,我们需要了解Java的类...
Java 语言中的作用域有四种:public、private、protected 和默认(default)。public 修饰的元素可以被所有类访问,private 修饰的元素只能被当前类访问,protected 修饰的元素可以被当前类和其子类访问,默认修饰的...
1. 作用域 public,private,protected,以及不写时的区别 Java 中的访问权限有四种:public、private、protected 和 friendly。其中,public 表示公开的,任何地方都可以访问;private 表示私有的,只有在同一个类中...
作用域 public, private, protected 以及不写时的区别** - **public**:类成员可以在任何地方被访问,包括不同包中的其他类。 - **protected**:类成员只能在同一个包中的类或者不同包中该类的子类中访问。 - **...
最新最全Java面试题汇总 作用域public,private,protected,以及不写时的区别 GC是什么? 为什么要有GC
1. 作用域 public,private,protected,以及不写时的区别: 作用域的区别在于访问权限的限制,public为公共访问权限,private为私有访问权限,protected为保护访问权限,而不写时默认为friendly权限。 2. ArrayList ...
作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时...
Java中的作用域包括public、private、protected和friendly四种,默认情况下不写时默认为friendly。public类型可以在任何地方被访问,private类型只能在当前类中被访问,protected类型可以在当前类和同一package中的...
2. 作用域public, protected, private,以及不写时的区别:public 为公共访问权限,protected 为保护访问权限,private 为私有访问权限,不写时默认为default访问权限。 3. 编程输出图形:可以使用 Java 的图形库或 ...
1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时...