当前位置: 代码迷 >> Java相关 >> 新人贴。。不只有没有专门给新人发帖的地方。。皮厚点先发这里哈
  详细解决方案

新人贴。。不只有没有专门给新人发帖的地方。。皮厚点先发这里哈

热度:319   发布时间:2013-09-20 20:44:00.0
新人贴。。不只有没有专门给新人发帖的地方。。皮厚点先发这里哈
我很感兴趣编程,但一直都没有机会正式的入门学,现在自己看视频学 不懂的东西还请高手有时间指教下



public class myfirstapp {
int eyes = 2;
int legs = 2;
int ears = 2;

void look(){
    System.out.println("look sex");
   
}

void run(){
    System.out.println("run fist");
   
}

void lisent(){
    System.out.println("lisent very things");
}
void info ()
{
    System.out.println("I have  " + eyes + "  eyes and  " +legs + "  legs and  " + ears +"  eras ");
}
public static void main(String[] args ){
    myfirstapp huige = new myfirstapp ();
    huige.look();
    huige.run();
    huige.lisent();
    huige.info();
        
   
   
}

}

这段代码中几个问题

1 {} () 里面写的内容分别是什么,
2 什么时候用封号
3 是不是定义一个方法都是用void
4 定义属性还有那些东西
5 myfirstapp huige = new myfirstapp (); 红的那行我不是很明白什么意思。 为什么有两个myfirstapp  。
6 public static void main(String[] args ) 这个叫做软件接入口。是什么意思 整句话怎么翻译。
谢谢
搜索更多相关的解决方案: public  things  

----------------解决方案--------------------------------------------------------
很高兴为你回答以下问题:
1、{}里写的是语句体的集合(可以理解为成带很多分号;结尾的语句)。
    ()里写的是参数

2、每条语句执行完成后都会带分号
    如: int a=0;   
         a++;

3、void表示方法无返回值,即方法体内没有“return一个值”,void的方法里也可以return,只是执行到return就返回到调用它的方法去。
如: public void show(boolean i){
    int count=0;
    if(i){
        count++;
    else{
        return;    //表示什么值都不带回去就返回,所以不能用 return count; 除非方法声明时是public int show(boolean i){...}
}

4、定义属性还有那些东西???  一个类里基本就是由属性和方法构成的啊!

5、你可以这样看:首先看“=”的右边,因为赋值语句都是从右到左执行的; new myfirstapp ( )就是实例化类myfirstapp的一个对象,而至于什么是实例化,也就是这个对象的一些具体的值(默认数字类型的是0,引用类型的是null),每次实例化都会调用类myfirstapp的初始块和构造器去构建一个对象。再看看“=”的左边myfirstapp huige ,huige是一个引用变量,它的类型就是myfirstapp,它只能存储地址引用(即是地址的值)。

整一条语句来说的就是:通过new myfirstapp ( )实例化一个对象(实际就是在堆内存那里开辟一片内存空间),把这一片内存空间的首地址赋给了类型为myfirstapp的引用变量huige(引用变量只能存地址,相信你也知道吧?)


6、 public static void main(String[] args )如果是新手,这个程序入口定义你可以不用管什么,你要知道它是一个公共静态的main方法,静态的方法都属于类本身就够用了!!!

谢谢采纳!

   
   
   





本帖最近评分记录
  • christxh 积分 +1 好文章 2013-9-22 10:29
2013-09-20 17:36:19
java小蚂蚁

等 级:版主
威 望:9
帖 子:404
专家分:1312
注 册:2013-7-2
  得分:10 
新人也在这里发帖
----------------解决方案--------------------------------------------------------
回复 2楼 cc44544
谢谢 你回答这么多啊 辛苦了

扫尾少一下。
第五个问题,,,我看完你的回答 理解是 程序从右往左执行,那new myfirstapp()是不是 就是新建一个 那那个 myfirstapp 这个名字能不能换其他任意。   而myfirstapp huige 那个myfirstapp 是原来上面定义的的那个类的名字。是这样理解吗?
----------------解决方案--------------------------------------------------------
myfirstapp huige = new myfirstapp ();
myfirstapp 是类型,huige 是定义的对象 new myfirstapp ()实例化这个对象
String str = new String();
就是定义一个string类型的对象str ,并且实例化对象,这样 str就可以用了
----------------解决方案--------------------------------------------------------
回复 5楼 java小蚂蚁
那是不是这样说 huige 是要新定义的对象 他的依据是原来设计的myfirstapp  那后面那个myfirstapp huige = new myfirstapp() 整个语句就是实例化的语句。。变实例化才能用
----------------解决方案--------------------------------------------------------
恩,要实例化才可以用。
这里的实例化分两步,首先是等于号前面的定义对象分配空间,和后面的实例化,这个在jvm中是不分先后的,所以如果你以后的编程涉及多线程要注意。一般都是多线程都是采用单例模式,或者用同步关键字,这里的同步关键字最好加在对象上,不要放在方法上,影响性能,以后慢慢看吧。
关于实例化,你可以写一些小例子玩玩,不实例化会怎么样,多实践一下,找找错。一般在程序中,如果没有特殊要求,都是先定义,等用得到的时候在实例化,这样可以提高性能,不浪费内存,就像这样String str = null;然后再用到的地方在写 str =  new String();这里的括号可以加长度。这里只是举例子,String是不可变长的,怒如果用这样类型要注意躲考虑,可以自己看看Strng ,StringBuffer ,StringBuider的区别和用法。
----------------解决方案--------------------------------------------------------
首先是等于号前面的定义对象分配空间,
刚上面这句话说错了,不好意思,这里只是定义对象,还没有分配空间
----------------解决方案--------------------------------------------------------
  相关解决方案