java 私有变量访问_Java - 访问私有实例变量
我需要从以下类列表(Species.java)访问私有变量,以便在KlingonOx.java类中使用它们。
KlingonOx.java类的目的是确定大象物种的种群数量将大于克林贡牛种的数量。
这是Species.java类:
import java.util.Scanner;
public class Species
{
private String name;
private int population;
private double growthRate;
public void readInput()
{
Scanner keyboard = new Scanner(System.in);
System.out.println("What is the species' name?");
name = keyboard.nextLine();
System.out.println("What is the population of the species?");
population = keyboard.nextInt();
while(population < 0)
{
System.out.println("Population cannot be negative.");
System.out.println("Reenter population:");
population = keyboard.nextInt();
}
System.out.println("Enter growth rate (% increase per year):");
growthRate = keyboard.nextDouble();
}
public void writeOutput()
{
System.out.println("Name = " + name);
System.out.println("Population = " + population);
System.out.println("Growth rate = " + growthRate + "%");
}
public int predictPopulation(int years)
{
int result = 0;
double populationAmount = population;
int count = years;
while( (count>0) && (populationAmount>0) )
{
populationAmount = (populationAmount + (growthRate/100) * populationAmount);
count --;
}
if (populationAmount > 0)
result = (int)populationAmount;
return result;
}
public Species(String name)
{
name = name;
population = 0;
growthRate = 0.0;
}
public Species(int population)
{
name = "";
if (population > 0)
population = population;
else
{
System.out.println("ERROR: using a negative" + "population.");
System.exit(0);
}
growthRate = 0.0;
}
public Species(double growthRate)
{
name = "";
population = 0;
growthRate = growthRate;
}
public Species(String name, int population, double growthRate)
{
name = name;
if (population > 0)
population = population;
else
{
System.out.println("ERROR: using a negative" + "population.");
System.exit(0);
}
growthRate = growthRate;
}
public Species()
{
name = "";
population = 0;
growthRate = 0;
}
public void setSpecies(String newName, int newPopulation, double newGrowthRate)
{
name = newName;
if (newPopulation >= 0)
population = newPopulation;
else
{
System.out.println("ERROR: using a negative " + "population.");
System.exit(0);
}
growthRate = newGrowthRate;
}
public void setName(String name)
{
name = name;
}
public void setPopulation(int population)
{
if (population > 0)
population = population;
else
{
System.out.println("ERROR: using a negative" + "population.");
System.exit(0);
}
}
public void setGrowthRate(double growthRate)
{
growthRate = growthRate;
}
public String getName()
{
return name;
}
public int getPopulation()
{
return population;
}
public double getGrowthRate()
{
return growthRate;
}
public boolean equals(Species otherObject)
{
return (name.equalsIgnoreCase(otherObject.name)) &&
(population == otherObject.population) &&
(growthRate == otherObject.growthRate);
}
}
这是KlingonOx.java类:
import java.util.Scanner;
public class KlingonOx extends Species
{
public static void main(String[] args)
{
new KlingonOx().run();
}
public void run()
{
Species klingonox = new Species();
Species elephant = new Species();
System.out.println("Please enter data on the species Klingon Ox.");
klingonox.readInput();
klingonox.writeOutput();
klingonox.setPopulation(int population);
population = population;
klingonox.setGrowthRate(double growthRate);
growthRate = growthRate;
System.out.println("Please enter data on the species Elephant.");
elephant.readInput();
elephant.writeOutput();
elephant.setPopulation(population);
population = population;
elephant.setGrowthRate(growthRate);
growthRate = growthRate;
int year = 0;
if(klingonox.population < elephant.population)
{
while(klingonox.population < elephant.population)
{
klingonox.population = (int)(klingonox.population + (klingonox.population * (klingonox.growthRate/100) ) );
elephant.population=(int)(elephant.population + (elephant.population * (elephant.growthRate/100) ) );
year++;
}
System.out.println("KLINGON OX EXCEEDS ELEPHANT IN" + year + "YEARS");
}
else
{
while(klingonox.population > elephant.population)
{
klingonox.population=(int)(klingonox.population+(klingonox.population*(klingonox.growthRate/100)));
elephant.population=(int)(elephant.population+(elephant.population*(elephant.growthRate/100)));
year++;
}
System.out.println("ELEPHANT EXCEEDS KLINGON OX IN" + year + "YEARS");
}
}
}
KlingonOx.java类给出了一个错误,即“population”和“growthRate”是Species中的私有实例变量,因此无法访问。我曾尝试使用getPopulation和getGrowthRate方法调用来检索变量,但我不确定如何正确地执行此操作。
感谢任何反馈。
java 私有变量访问_Java - 访问私有实例变量相关推荐
- java 实例变量初始化_java学习之实例变量初始化
实例变量的初始化方法 第一种:通过构造函数进行初始化. 第二种:通过声明实例字段初始化. 第三种:通过对象代码块初始化. 通过构造函数进行初始化方法 通过构造函数进行对象初始化,必须在类中声明一个带参 ...
- 编写Java程序,创建Dota游戏中的兵营类,兵营类有一个类成员变量count、一个实例变量name和另一个实例变量selfCount。
返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数: ...
- java实例变量可以被覆盖吗_Java继承覆盖实例变量
参见英文答案 > Java Inheritance – instance variables overriding 3个 我 ...
- Java入参关键字_Java基础17-成员变量、return关键字和多参方法
1.成员变量 在类中声明的变量为成员变量 //Dog类 class Dog{ String name;//成员变量 } public class Test1{ public static void m ...
- java用一个方法对变量初始化_java中怎么给变量初始化?
展开全部 不同的变量初始化32313133353236313431303231363533e4b893e5b19e31333337613764方法不同. 变量包括:类的属性,或者叫值域 方法里的局部变 ...
- java如何配置环境_java如何配置环境变量
展开全部 首先下载好jdk,直接双击就可以安装,安装比较简单,基本都是点62616964757a686964616fe78988e69d8331333365653832击"下一步" ...
- Java静态变量(类变量)和实例变量的定义、区别及联系
一.静态变量和实例变量的区别 1.静态变量也叫做类变量,独立于方法之外的变量,有static修饰.实例变量同样也是独立于方法之外的变量,但没有static修饰. 实例变量属于某个对象的属性,必须创建了 ...
- python 实例变量_Python的类变量和实例变量详解
Asuka 什么是类变量? class Student: name = 'Asuka' age = '18' ... 上面定义的name和age就是类变量 什么是实例变量? class Student ...
- java私有成员的访问_java – 使用私有成员或公共访问器的方法
我意识到这可能无法回答,但我正在寻找是否有关于是否直接使用私有成员或类方法中的公共访问器的某种指导. 例如,考虑以下代码(在Java中,但在C中看起来非常相似): public class Matri ...
最新文章
- CentOS7.3下Jenkins+docker自动化部署solo站点
- Ubuntu Linux 下优化 swap 交换分区及调整swap大小
- 海康摄像头取、录像机RTSP视频流的字串格式
- C++——this指针
- 喜报!良品铺子签约神策数据
- CTF——MISC——流量分析
- net 控制台 定时_.NET Core实现基于Quart.Net的任务管理
- 前轮转向最大角度设计原来_五桥转向故障
- npm install失败的解决方法
- WPF 入门教程 TextBox详解
- Tableau实战 Tableau官网各版块访问情况(一)总访问量树状图
- 免授权采集海天注塑机采集伊之密注塑机监控住友注塑机参数采集
- Milvus 群星闪耀时|又一个小目标达成 :社区正式突破 15,000 星!
- sciter 进度条 百分比计算函数
- 电商数仓描述_大数据企业级电商数据仓库架构设计和实现(技术点与企业接轨)...
- JVM(5)_方法区和大厂面试题
- mapStruct测试成功以及报错总结
- js数字金额滚动动画(vue)
- 说明白正反向代理,以及Nginx和Gunicorn
- FPGA _Verilog HDL_8选一多路选择器设计
热门文章
- (转)代理模式(Proxy)
- 《WF编程》系列之3 - 漫游工作流:Visual Studio 2005 扩展
- PPA格式Linux安装,Ubuntu12.04 用PPA安装fcitx和搜狗输入法附加组件Linux版
- 同步考勤数据 钉钉_作为学校,我为何选择微校wxiao考勤打卡?
- SpringBoot集成FastDFS依赖实现文件上传
- MacOS中Nginx的安装「借助Homebrew」
- QC安装与运行中的问题汇集
- codeblocks如何导入项目_T3如何利用系统工具导入导出复制存货档案
- C#操作IIS6创建网站应用程序无效
- mysql 慢查询过多_MySQL 慢查询优化