用AS在Java 实例化遇上无法从静态方法和实例方法上下文中引用非静态方法和实例方法变量的问题......

无法从静态上下文中引用非静态方法
WUYU{ public static void main(String[] args)
person p= new person();
p.name="张三";
p.age= 18;
p.gender =
System.out.println("姓名;"
+ p.name +
+ p.age );
} static class person{ S}
public void eat(){
System.out.println("用嘴吃");
public void sleep(){
System.out.println("躺着睡");
public static void eat(){
System.out.println("用嘴吃");
public static void sleep(){
System.out.println("躺着睡");
}吧eat方法和sleep方法改为静态的,在静态方法中不能直接引用非静态方法(可以先创建一个WUYU实例,再用WUYU实例调用eat和sleep方法)
你还没有登录,请先登录或注册慕课网帐号
在方法前加p.又显示找不到符号 这是为什么呢
你还没有登录,请先登录或注册慕课网帐号
76947人关注
Copyright (C) 2018 imooc.com All Rights Reserved | 京ICP备 号-11JAVA初学者,javac后一直提示无法从静态上下文中引用非静态变量this怎么解决? - 知乎2被浏览334分享邀请回答public class Qwe {
public static void main(String[] args) {
Cat q = new Cat("绿");
Cat qqq = new Cat("黄", 13);
qqq.grow();
qqq.grow();
static class Cat {
String furcolor;
int height;
public Cat(String color) {
furcolor = color;
public Cat(String color, int height) {
this(color);
height = height;
public void cry() {
System.out.println("我是一只" + furcolor + "的小猫咪");
public void grow() {
System.out.println("我长高了,身高为:" + height);
04 条评论分享收藏感谢收起JAVA 无法从静态上下文中引用非静态方法_百度知道
JAVA 无法从静态上下文中引用非静态方法
import java.util.*;
public class riqi{
int daysOfDate(int a,int b,int c){
switch(b){
case 12:d+=31;
case 11:d+=30;
case 10:d+=31;
case 9:d+=30;
case 8:d+=31;
case 7:d+=31;
case 6:d+=30;
case 5:d+=31;
我有更好的答案
本来就不能,调用实例方法必须先有对象,而静态方法根本不依赖对象.
那要怎么改啊?
采纳率:100%
内部类,先new 外边的主类。。。。。。。。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。初学JAVA,由“无法从静态上下文中引用非静态方法”引出的疑问
[问题点数:40分]
初学JAVA,由“无法从静态上下文中引用非静态方法”引出的疑问
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|JAVA无法从静态上下文中引用非静态变量_百度知道
JAVA无法从静态上下文中引用非静态变量
public class Person{ int age = 20; public static void main(String[] args) {
Person person = new Person();
System.out.println(Person.age); }}据软错了错在哪?
我有更好的答案
public class Person{ static int age = 20; public static void main(String[] args) {
Person person = new Person();
System.out.println(Person.age); }} 这样就可以了,错误描述已经很清楚了,不能从静态上下文中引用非静态变量
static int age=20;静态区域是不允许引用非静态区域的成员的
你应该这样写System.out.println(person.age);或者在age变量前加修饰符static
为您推荐:
其他类似问题
静态变量的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 h3c静态路由配置实例 的文章

 

随机推荐