java基础,脑袋转不过来了

问题描述

声明一个protect方法,通常是希望子类能重写这个方法,为什么

解决方案

声明一个protected方法,如果子类重写这个protected方法,那么子类的“等级”必须不低于父类,也就是说如果父类是protected,子类至少是protected,当然你也可以写为public。泛泛而谈、老土说法的话,父类只要不是private,子类都可以重写父类,也就是说只要将这个方法定义级别在private以上,都可以理解为“希望”子类重写。恩,“希望”这个词好别扭啊。。。我也想不出好词。。。具体问题具体分析
解决方案二:
(default) protected private public 都只是Java包的访问控制机制,不要那么在意。“通常”是“希望”,多弱的语气。
解决方案三:
需要子类重写的是protected abstract方法
解决方案四:
protected方法是希望子类有能力直接调用或者重写此方法,,而非子类或非同包的类则无法直接调用此方法。
解决方案五:
引用谁说声明一个protect是为了子类重写的。protect是申明他的访问类型。 和重写不重写无关。
解决方案六:
谁说声明一个protect是为了子类重写的。protect是申明他的访问类型。 和重写不重写无关。
解决方案七:
子类也可以不重写呀!

时间: 2024-09-21 11:16:02

java基础,脑袋转不过来了的相关文章

java基础问题求指教谢谢

问题描述 java基础问题求指教谢谢 形如 A a=new A();-------------1 a=new A();--------------2 辣么,a到底指的是哪个对象?1还是2? 五楼的说法对么? 解决方案 只用new关键字是为了创建一个对象,你使用了两次new关键字进行创建,会在内存中创建两个A的对象,a是你声明的一个引用,在程序中以最后一次的指向为准,这里是指向最后一个. 解决方案二: new 最后一个对象时,内存又为它分配了新的地址,所以a只想最后一个 解决方案三: a 在最后被

java基础多线程之共享数据

java基础巩固笔记5-多线程之共享数据 线程范围内共享数据 ThreadLocal类 多线程访问共享数据 几种方式 本文主要总结线程共享数据的相关知识,主要包括两方面:一是某个线程内如何共享数据,保证各个线程的数据不交叉:一是多个线程间如何共享数据,保证数据的一致性. 线程范围内共享数据 自己实现的话,是定义一个Map,线程为键,数据为值,表中的每一项即是为每个线程准备的数据,这样在一个线程中数据是一致的. 例子 package com.iot.thread; import java.util

Java基础:初学者Java语言入门精典文章

初学 Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案.在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考. 我在学习Java的过程中主要围绕以下几个方面来学习: 1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java. 2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以.要注意,即便对一个简单的例子也要有耐心去琢磨.调试.改动. 3.在学习的

J2ME中需要的Java基础知识

现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明:        J2ME中使用到的Java基础知识: 1.  Java语法基础:包括基本数据类型.关键字.运算符等等 2.  面向对象的思想:类和对象的概念,继承和多态等等. 3.  异常处理 4.  多线程 J2ME中没有用到的Java基础知识: 1. 

JAVA基础培训(11),方法的Override

Override, 主要是因为父类的功能无法满足需求,我们又不能直接修改父类的情况下 ,我们通过子类重写,来实现新的功能. package Lession11; import java.util.ArrayList; import java.util.List; /** * 老紫竹JAVA基础培训(11),方法的Override.<br> * * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession11 { public s

JAVA基础培训(10),方法的Overload介绍

今天在项目里做事,中午休息时间,补上这个教程吧.这次我们看看Overload 的内容 . 测试代码 package lession10; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /** * 老紫竹JAVA基础培训(10),方法的Overload介绍.<br> * 匹配方式为最特殊匹配,或者叫最准确匹配<br> * 如果发现多个都有相同的匹配度,则编译报错. * *

JAVA基础培训(9),控制台键盘输入(System.in)

从键盘输入是一个很重要的功能,这里给出了个人推荐的方式,用Scanner读取输入数 据 package lession9; import java.io.InputStream; import java.util.Scanner; /** * 老紫竹JAVA基础培训(9),控制台键盘输入(System.in). * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession9 { public static void main(St

JAVA基础培训(8),认识接口

这讲我们来重点熟悉接口的使用,包括接口的声明,继承,属性的定义以及类的实现 等. 最终的目录结构 先看相关的代码 lession8/Lession8.java package lession8; import lession8.otherpackage.InterfaceOtherPackagePublic; /** * 老紫竹JAVA基础培训(8),认识接口.<br> * * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Less

JAVA基础培训(7),构造器的使用

这里主要看类的构造器的情况,默认的,无参数的,有参数的,有不同参数类型的, 有多个参数的等各种情况. package lession7; /** * 老紫竹JAVA基础培训(7),构造器的使用.<br> * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession7 { public static void main(String[] args) { new class1(); // 使用了系统自动提供的无参数构造器 new c

JAVA基础培训(6),For循环语句的使用

在所有的循环中,最常用的就是for了,另外2个 while和do..while我基本不用.所以 我这里就把for循环重点介绍一下. 源代码 package lession6; /** * 老紫竹JAVA基础培训(6),For循环语句的使用.<br> * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession6 { /** * for循环有三部分用分号分割<br> * 第一部分是初始的数据<br> * 中