当前位置:  技术问答>java相关

我在学习java时遇到的几个问题,望大家解答

    来源: 互联网  发布时间:2015-05-06

    本文导语:  一、 关于static 有一例子,如下 import java.io.*; public class StaticMethodSample{     int x;//非static类型     static void staticMethod(){         System.out.println(x);     } } 书上说编译不通过,因为static 类型的method只能使...

一、
关于static
有一例子,如下
import java.io.*;
public class StaticMethodSample{
    int x;//非static类型
    static void staticMethod(){
        System.out.println(x);
    }
}
书上说编译不通过,因为static 类型的method只能使用和存取同为static 类型的数据成员,如果把上面的x定义成static int x就可以了。

在同一章节书上还有一个例子,如下:
//存储文件名为CallbyWhatSample.java
import java.io.*;
class SampleClass{
    public int DM=1000;
}

public class CallByWhatSample{
    public static void ChangePara(int x,SampleClass y){
        y.DM=2000;
        x=1999;
    }
    public static void main(String args[]){
        int x=0;
        SampleClass y=new SampleClass();
        System.out.println("x:"+x+",y"+y.DM);
        ChangePara(x,y);
        System.out,println("x:"+x+".y"+y.DM);
    }
}
让我不明白的是, ChangePara也是static类型,不是用到了非static类型x吗?
main也是static类型,不是也用到了x吗?程序还是可以执行的!


二、问题2
在上一个问题中的第二个程序,一个文件里有两个class,这两个class虽然在一个文件里,但是不是与在同一个package里的分别在两个文件里的class关系一样?

三、问题三
class1是另一各 package中class2的子类,问class1是否可以使用class2中的protected类型的数据和method?

|
一, x不是非static类型的

引用你的话:
 为static 类型的method只能使用和存取同为static 类型的数据成员

指的是,ChangePara那个x只是局部变量

二、是同一package的
三、可以

|
一、用static定义的方法只能引用类变量(static),不能引用对象变量。
     在你的程序里的main和ChangePara的方法用的是局部变量,main的x是局部的而ChangePara内的参数是传进来的,而实参是不变的。
二、是的。
三、子类是由父类派生的能够引用父的protected。

|
1.main中的x是方法内的变量,可以用
3.class1是另一各 package中class2的子类,class1可以使用class2中的protected类型的数据和method

|
千万注意区别“方法变量”和“方法参数”——静态方法只能使用同为静态的变量,注意这个变量是方法“定义”时使用的,是成员变量;而方法参数则是在方法被“调用”(使用)时,传递给方法的!  :) 一个是定义,一个是使用!OK?

  其他同意楼上!

|
同意楼上

|
留着待看

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在学习操作系统时遇到的一个邮件列表问题
  • 学习redhat9遇到的疑惑。
  • 学习Qt中遇到的问题
  • 【求助】小弟现在正在学习Linux,遇到一个问题,请教各位
  • 大家,一个关于学习处理异常时候遇到的学习问题
  • 哎,最近学习遇到N多问题,散分,暂别。。。
  • 我是初学者,学习java遇到了很多问题,请各位过来之人加以指导阿!!!!
  • 菜鸟学习Linux遇到的问题
  • 学习一晚,遇到二个问题,请教大侠,昨晚的已经结!不能再给一百分了,否则我坚持不了几晚
  • 刚开始学习LINUX,安装时遇到问题,请大家帮忙。
  • 学习SHELL编程时遇到一个问题,是BUG还是我弄错了?
  • 正在安装linux 8.0遇到分区问题,第一次学习,还请大家多多关注!再现等待,上午结贴
  • 当你遇到问题时,你会怎么办?(讨论,关于学习方法的问题)
  • [学习UNIX编程]初学UNIX编程,遇到一个小小的问题,烦劳大虾帮忙解惑,谢谢!
  • 小弟学习LINUX中,遇到问题!
  • 小弟在学习LINUX程序设计时遇到有关wait和waitpid的问题,请各位达人帮忙,不胜感激。
  • 学习Linux遇到的问题,向各位求教
  • PHP介绍及学习网站推荐
  • 想深入学习Java应该学习哪些东西
  • 准备学习docker: docker version命令查看版本
  • WEB前端 iis7站长之家
  • HTML 学习总结及下一步学习教程推荐
  • 学习c后,学习pb,大家提点建议,谢谢哦
  • OpenStack相关学习资料搜集
  • 有最近开始学习Minix的吗?一起来学习吧
  • juqery的python实现:pyquery学习使用教程
  • 我想问问哪里有AIX下啊!~版本越新越好!~我想拿来学习学习
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 学习java好 还是学习嵌入式开发好??
  • 学习linux网络编程需要学习些内核知识吗?
  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3