好的,所以我学习了java所有学期,并认为我对继承和超级/子类有一个清晰的认识.今天我们被赋予了作为一个叫做敌人的超类的任务,包括不同类型的敌人的子类.我做的一切都很好,我的所有子类都正常工作,但当我回去阅读我们必须遵循的指南时,我发现了这句话:
"超类的所有成员变量必须是私有的.对变量的任何访问都必须通过子类中的受保护方法来完成."
据我所知,这对我来说毫无意义.如果变量在超类中是私有的,那么即使从子类中也不允许访问?讨论子类中受保护方法的最后一部分对我来说也没有任何意义.这对超类有什么帮助和/或允许任何访问?
从我对继承的了解,以下是我的想法:
Access Levels
Modifier Class Package Subclass World
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N
Run Code Online (Sandbox Code Playgroud)
如果我在这里理解错误,请解释一下!如果我不正确地理解它,我不想让教练面对给我们错误的指示!
我已经在类似的网站上阅读了一些问题,但实际上并不能从中获得任何帮助。我有一个提交的表单,如果有错误,我会通知用户表单上方的错误,并在表单下方显示该表单以供他们更正。除了必须再次输入所有信息外,这一切都是好东西。我希望保留这些信息,他们只需要修复/重新输入错误所在的字段即可。
这是我的处理文件:
<?php
include_once("Header.php");
if(!empty($_POST['formsubmit'])){require_once ("Form_Handle.php");}
include("Form.php");
include_once("Footer.php");
?>
Run Code Online (Sandbox Code Playgroud)
处理完form.php后,有什么要做的事情吗?
我有以下代码,我想知道为什么运行程序时返回null而不是实际值?任何帮助都会被证实.
import java.util.Random;
public class TestCard {
public static String[] possCards = new String[]{"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
public static String[] possSuits = new String[]{"C", "S", "H", "D"};
public static Random rand = new Random();
static String value;
public static void main(String[] args) {
System.out.println(getcard());
}
public static void card() {
String card = possCards[rand.nextInt(possCards.length)];
String suit = possSuits[rand.nextInt(possSuits.length)];
value = card + suit;
}
public static String getcard(){
return value;
} …Run Code Online (Sandbox Code Playgroud) 我试图将用户输入读作字符串.将其解析为int,然后用户输入的任何数字(0-3),我想用卡替换该数组的索引.这是代码
public void discard(String text) {
int i = Integer.parseInt(text);
for(int p = 0; p < 4; p++){
if(i == p){
hand[p].getCard() = card; // This is where I recieve the Error.
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何有助于我纠正和理解我的错误的东西都会有所帮助,谢谢!