JAVA 子类无法在主函数new

各位大虾 代码如下
package example1;
class Person
{
private String name;
private int age;
public void setName(String name)
{
this.name=name;
}
public void setAge(int age)
{
this.age=age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;

}

class Student extends Person
{
private String school;
public String getSchool()
{
return school;
}
public void setSchool(String school)
{
this.school=school;
}

}

}
public class Test {

public static void main(String[] args) {


    // TODO Auto-generated method stub

}

}
为什么我在主函数中new student 会报错,说找不到student这个类呢

把Student提出来 你写在Person类的大括号里面了

因为你的student 是个内部类

请以此确认一下几点:
1、你的Test类是否与Student类在一个包下,不在一个包需要import
2、你的Student类名是否正确 Student student=new Student();
3、你的Person和Student前面应该用public修饰,表示让别的类可见
4、如果依然不行,需要clean一下你的工程

肯定找不到student这个类啊,Java是大小写敏感的语言,你定义的是Student

类上加student 类加 public 修饰 试试

package service.com;

class Person {
private String name;
private int age;

public void setName(String name) {
    this.name = name;
}

public void setAge(int age) {
    this.age = age;
}

public String getName() {
    return name;
}

public int getAge() {
    return age;

}

}

class Student extends Person {
private String school;

public String getSchool() {
    return school;
}

public void setSchool(String school) {
    this.school = school;
}

}

public class Test1 {
public static void main(String[] args) {

    new Student();

}

}

类用public修饰,然后大小写不对

这样子就可以了 Student s=new Person().new Student();

这是访问修饰符的原因,楼主可以在Student类前加public,也可在Person前加public (这时用new Person.Student()创建示例【好像是这样+_+】)。

public static void main(String[] args) {
//第一种方式:
Outter outter = new Outter();
Outter.Inner inner = outter.new Inner(); //必须通过Outter对象来创建

    //第二种方式:
    Outter.Inner inner1 = outter.getInnerInstance();
}

public static void main(String[] args) {
//第一种方式:
Outter outter = new Outter();
Outter.Inner inner = outter.new Inner(); //必须通过Outter对象来创建

    //第二种方式:
    Outter.Inner inner1 = outter.getInnerInstance();
}

这位同学,你能出现这样的问题,说明你有对Java的这两点基础知识掌握还不够扎实。
一是Java的访问权限控制;二是Java的类的概念。认真仔细的看完这两个知识点,
你就明白你错在什么地方,比你去问任何人都要有效。

你可以百度体下,看内部类怎么创建,你那个是个内部类

成员内部类的一篇文章 http://www.cnblogs.com/nerxious/archive/2013/01/24/2875649.html

建议你写代码的时候不要这样写,除非你要写内部类,不然一个JavaBean创建一个.java文件,有的方法使用必须要public修饰,你这样写可能会遇到一些莫名其妙的bug,还不容易发现

加个static

 static class Student extends Person{
  // ....
}