a552298242 2016-10-19 14:46 采纳率: 28.6%
浏览 804
已采纳

java中关于包、类和方法有几个问题不懂,请高手指点下

这是我写的一段代码,package对应的是包名,class对应的是类名,那main方法中写的那些东西算是什么呢,有没有一个具体的名称来描述,比如for循环,当初学的时候成为流程控制,但是我觉得这个名很怪,方法中的那些代码总不能称为语句块吧,虽然现在我就是这么用的
我在学习中,通过实验的出了如下结论,但是书上找不到总结,请问正确吗
1、非静态类中不能使用静态方法
2、静态类中可以使用非静态方法
3、静态方法可以直接调用静态类中的方法
4、静态方法不能直接调用非静态类中的方法
如何区分是不是静态类\方法,仅仅从static判断吗,如果没有static,是否说明一定是非静态类\方法
请高手指点下迷津

 package study;

public class Q01 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        char []a = new char[] {'a','b','c'};
        char []x = new char[] {'x','y','z'};
for (int i = 0;i<3;i++){
    for(char ch : x){
        if(!(a[i] == 'a'&& ch =='x'||a[i]=='c'&& (ch == 'x'|| ch == 'z'))){
        {System.out.println("比赛组合为a队"+a[i]+"对x队"+ch);}
        }
    }
    }
}
}

  • 写回答

5条回答 默认 最新

  • viewgroup 2016-10-20 02:48
    关注

    static 就是静态关键字,有就是静态,没有肯定不是静态(即非静态)。
    关于总结的1和2来说,在同类中,所有的方法都可以直接调用静态方法。但是静态方法不能直接调用非静态方法,必须new对象之后才可以通过对象名.方法名来调用。
    在非同类中,我的静态方法(public 的),任何非同类都可以直接类名.方法名来调用,不需要new我的对象。所以,不管我的类是不是静态的,我都可以使用静态和非静态方法。
    方法中的内容为方法实现。就和main方法里面的一样,你想让方法体里面实现什么都是可以的。实际上你可以在一个方法里面把你这一个类的实现都写出来。当然这个是不推荐的。拆分出方法主要是为了一个方法(method)只用来做一件事。拆分出类(class)是为了一个类做一类事。比如Math类。里面大部分都是静态的,我们平时使用都是Math.method();Math就是用来处理数学这一方面的事情的。
    还有就是类里面的属性。属性是抽象出来的这个类所描述的东西共有的一些概念。比如我定义一个Human(人类)的类,那么我就可以定义两个属性,name,age,因为姓名和年龄是所有人类都有的一个概念。这个就是属性。
    来说一说类里面的变量。变量分为成员变量和局部变量。定义在方法外层,类里层的变量称之为成员变量,定义在方法内部的变量为局部变量。局部变量里面的变量名称是可以和成员变量一致的。但是同一个类的成员变量里面不能有重复的变量名称,同一个方法内的局部变量也一样。如果局部变量和成员变量一致,那么方法调用就是调用的局部变量,如果不一致,方法调用的是对应的局部变量或成员变量。例如

     public class Human{
         private int age;//成员变量
         public int getAge(){
            return age;//此处为成员变量;
         }
    
         public int getAge1(){
            int age=1;//定义一个局部变量
            return age;//这个地方返回的是局部变量
         }
    
         public int getAge2(){
            int age=1;//定义一个局部变量
            return this.age;//此处返回的是成员变量。this代表我这个类。
         }
    
     }
    

    希望以上能对你有帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮