问题1
int a[]={100,200,300};
int b[]={10,11,12,13,14,15,16};
b=a;
b[0]=123456;
为什么结果a[0]=123456了啊?问题2
class People{ //声明类
int boy; //声明属性
float a[];
void f(){ //声明方法,不知道用来做什么的
boolean cool; //变量定义
Workman zhangboy; //声明对象
}
}
class Workman{ //声明类
double x; //声明属性
}
这段代码到底有没有问题啊?上面是我的理解,但觉得说不通,到底是什么意思啊?还是本来就没具体含义?问题3
class 圆{
double 半径;
圆(double r){
半径=r;
}
double 计算面积(){
return 3.14*半径*半径
}
void 修改半径(double 新半径){
半径=新半径;
}
double 获取半径(){
return 半径;
}
}
class 圆锥{
圆 底圆;
double 高;
圆锥(圆 circle,double h){ //这里的“圆 circle”是声明对象吗?
this.底圆=circle;
this.高=h;
}
double 计算体积(){
double volume;
volume=底圆.计算面积()*高/3.0; //这里的“底圆.计算面积()”哪里来的?
return volume;
}
void 修改底圆半径(double r){
...
}
这程序并不完整,接下去的就是调用了。主要是里面的一些变量和方法不知道是怎么来的。
int a[]={100,200,300};
int b[]={10,11,12,13,14,15,16};
b=a;
b[0]=123456;
为什么结果a[0]=123456了啊?问题2
class People{ //声明类
int boy; //声明属性
float a[];
void f(){ //声明方法,不知道用来做什么的
boolean cool; //变量定义
Workman zhangboy; //声明对象
}
}
class Workman{ //声明类
double x; //声明属性
}
这段代码到底有没有问题啊?上面是我的理解,但觉得说不通,到底是什么意思啊?还是本来就没具体含义?问题3
class 圆{
double 半径;
圆(double r){
半径=r;
}
double 计算面积(){
return 3.14*半径*半径
}
void 修改半径(double 新半径){
半径=新半径;
}
double 获取半径(){
return 半径;
}
}
class 圆锥{
圆 底圆;
double 高;
圆锥(圆 circle,double h){ //这里的“圆 circle”是声明对象吗?
this.底圆=circle;
this.高=h;
}
double 计算体积(){
double volume;
volume=底圆.计算面积()*高/3.0; //这里的“底圆.计算面积()”哪里来的?
return volume;
}
void 修改底圆半径(double r){
...
}
这程序并不完整,接下去的就是调用了。主要是里面的一些变量和方法不知道是怎么来的。
int b[]={10,11,12,13,14,15,16};a是一个数组变量 {100,200,300}是一个数组对象a[0]实际改变的是a所引用的对象的第一个元素同理,b也是一个数组变量,{10,11,12,13,14,15,16}是一个数组对象,
a , b都可以引用一个相同类型的数组对象当执行
b=a;
的时候,b也和a引用了一个相同的对象{100,200,300}b[0] 实际也就是a[0]b[0]=123456;因为a,b都是引用了同一个对像.通过b修改,a也会被修改,通过a修改,b也被修改
double 半径;
圆(double r){
半径=r;
}
double 计算面积(){
return 3.14*半径*半径;
}
void 修改半径(double 新半径){
半径=新半径;
}
double 获取半径(){
return 半径;
}
}
class 圆锥{
圆 底圆;
double 高;
圆锥(圆 circle,double h){ //这里的“圆 circle”是声明对象吗?
this.底圆=circle;
this.高=h;
}
double 计算体积(){
double volume;
volume=底圆.计算面积()*高/3.0; //这里的“底圆.计算面积()”哪里来的?
return volume;
}
void 修改底圆半径(double r){
底圆.修改半径(r);
}
double 获取底圆半径(){
return 底圆.获取半径();
}
}
后面是调用上面的类,这段程序里感觉在“class 圆锥”里把上面的“class 圆”变成了“class 底圆”,如果是这样,那么是在哪里实现的?
圆柱有两两个"圆",假设为上圆和"底圆"
那么"圆柱"应该是这样定义的:class 圆柱
{ 圆 底圆;
圆 上圆;
public 圆柱(圆 a,圆 b,doube 高)
{
this.底圆=a;
this.上圆=b;
}
}
class 圆锥{
圆 底圆; //这里是声明对象吧,这样就可以调用圆类中的方法了吧?
double 高;
圆锥(圆 circle,double h){ //这里的“圆 circle”是声明对象吗?
this.底圆=circle;
this.高=h;
}