各位大虾 代码如下
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{
// ....
}