package com.imooc.Java;
public class Imooc_1_10 {
String name; // 声明变量name
String sex; // 声明变量sex
static int age;// 声明静态变量age
// 构造方法
public Imooc_1_10() {
System.out.println("通过构造方法初始化name");
name = "tom";
}
// 初始化块
{
System.out.println("通过初始化块初始化sex");
sex = "男";
}
// 静态初始化块
static{
System.out.println("通过静态初始化块初始化age");
age = 20;
}
public void show() {
System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
}
public static void main(String[] args) {
// 创建对象
Imooc_1_10 hello = new Imooc_1_10();
// 调用对象的show方法
Imooc_1_10.show();//这里是用对象名来调用,用HelloWorld.show(); 类名调用HelloWorld.show();为什么不行
}
}用类调用非静态方法是不可以的
public void show()改为 public static void show()就可以调用了,把非静态方法改为静态方法就OK
非静态方法不能使用类名调用。
show方法为非静态方法,不能直接在静态主方法内使用,但可以通过创建对象来调用。这里你的对象不是hello吗?应该是hello.show();才对啊