java中成员变量在声明的同时赋值,也可以在类的方法中赋值,为什么不能在类体中声明之后再赋值

chenyj0929 2009-04-15 10:07:32
java中成员变量在声明的同时赋值,也可以在类的方法中赋值,为什么不能在类体中声明之后再赋值
例如:
public class a1
{
int a1=1,
int a2=2;
}

public class a1
{
int a1,a2;
void void pntout(String s)
{
int a1=1;
int a2=2;
System.out.pringln(String s)
};
}
都是可以的
而在
public class a1
{
int a1,a2;
a1=1;
a2=2;
}
却不行,知道的解释一下,先谢下!
...全文
1407 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hello_sdzbsj 2010-06-19
  • 打赏
  • 举报
回复
语法问题。就是乌龟的屁==规定。
mizukusa 2009-04-16
  • 打赏
  • 举报
回复
类里面只能有方法体和域变量!
w09424 2009-04-16
  • 打赏
  • 举报
回复
a1=1;
a2=2;

是java 的代码行,代码必须放到方法中 或静态代码块 中!!
fanchangyong 2009-04-16
  • 打赏
  • 举报
回复
对变量的操作必须放到方法中,语法问题
vivazhao 2009-04-15
  • 打赏
  • 举报
回复
java是强类型语言,编译器会检查有无赋值。类成员变量可以不赋值是因为如果你没赋值,那么当类初始化时会由系统自动赋值
chenyj0929 2009-04-15
  • 打赏
  • 举报
回复
谢谢啊!
possibleonline 2009-04-15
  • 打赏
  • 举报
回复
应该是java规范吧
聖少俊 2009-04-15
  • 打赏
  • 举报
回复
学习
qybao 2009-04-15
  • 打赏
  • 举报
回复
public class a1
{
int a1,a2;
{a1=1; //把它放到{}是可以的,这是java语法的问题,就算不要{}可以符合语法,那类加载时就该代码就会被执行,而类的实例还没生成,还没给a1,a2分配内存地址,如何能操作?
a2=2;
}
}

public class a1
{
int a1=1, //这样的代码并不是马上被执行,只有生成实例时在构造函数被执行以前才被执行
int a2=2;
}

同样的
public class a1
{
int a1,a2;
void pntout(String s)
{
a1=1; //这样的代码是也并不是马上被执行,当类的实例被生成后,通过该实例调用成员方法时被执行的
a2=2;
System.out.pringln(String s)
};
}

类似的还有静态变量和静态域代码

public class a1
{
static int a1;
static int a2;
static{a1=1;
a2=2;
System.out.println(a1);
}
}

chenyj0929 2009-04-15
  • 打赏
  • 举报
回复
谢谢啊!我也是看书上的,书上这样说,可没解释
anonymsean 2009-04-15
  • 打赏
  • 举报
回复

public class a1
{
int a1,a2;
void void pntout(String s)
{
int a1=1;
int a2=2;
System.out.pringln(String s)
};
}

很明显上面一种是类变量,一种是方法中的变量,虽然变量名相同,但是两个在内存中的地址是不相同的。
至于你的问题,我认为在类变量中先声明后赋值是完全没必要的,一般声明为类变量后引用的都是方法体内或者其它类引用,
因为在类变量所处位置根本不会用到它的值。
内容概要:本文介绍了基于粒子群优化(PSO)算法的光伏最大功率点跟踪(MPPT)控制模型,重点针对局部遮阴条件下光伏系统易出现多峰输出特性而导致传统MPPT方法失效的问题,提出采用PSO算法实现全局寻优的解决方案。该模型通过Simulink平台搭建光伏阵列、DC-DC变换器及PSO控制模块,模拟复杂光照条件下的系统运行状态,有效克服了局部遮阴引起的功率震荡和误判问题,提升了光伏发电系统的能量转换效率与稳定性。文详细阐述了PSO算法的实现流程及其与MPPT控制的结合方式,并通过仿真实验验证了该方法在动态环境下的快速响应能力和高精度追踪性能。; 适合人群:具备一定电力电子与自动控制理论基础,从事新能源发电、智能优化算法应用或光伏系统设计等相关领域的科研人员及工程技术人员,尤其适合研究生及以上学历层次的学习者。; 使用场景及目标:① 解决光伏系统在局部遮阴工况下的最大功率点追踪难题;② 学习并掌握智能优化算法(如PSO)在实际工程控制的建模与实现方法;③ 开展基于Simulink的光伏系统仿真研究,提升对MPPT控制策略的理解与创新能力; 阅读建议:建议结合提供的Simulink仿真模型文件进行实践操作,重点关注PSO算法参数设置、寻优过程可视化以及与其他传统MPPT方法(如扰动观察法、电导增量法)的对比分析,以深入理解其优越性与适用边界。

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧