关于java类和继承,接口的问题。。
不同类写在不同文件中,和写在同一文件中有什么区别?所谓包级私有怎么理解,具体怎么做可以实现,共有类和普通类,在使用自己定义的对象,函数上和父类子类还有接口上的区别是什么?...
不同类写在不同文件中,和写在同一文件中有什么区别?所谓包级私有怎么理解,具体怎么做可以实现,共有类和普通类,在使用自己定义的对象,函数上和父类子类还有接口上的区别是什么?望大神解答。
展开
5个回答
2013-05-31
展开全部
不同类写在不同文件中,和写在同一文件中有什么区别?
最大区别是生成的文件名不同。如果在一个文件内、并且是私有的,访问的级别不同。
包级私有,就是同一包内允许访问。
最大区别是生成的文件名不同。如果在一个文件内、并且是私有的,访问的级别不同。
包级私有,就是同一包内允许访问。
追问
就是这个访问级别。。能不能给分析下。。还有平时用myelipse写的时候完全没注意到包的问题。。怎么样就不是在一个包里了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个是可读性,还有一个是写在一个文件中的类,只能有一个是公共类,这个公共类必须和文件名一致。
更多追问追答
追问
这个我知道,想知道的是如何实现一个包内,如何不在一个包内。。求教。。
追答
类的私有制没怎么用过 ,我只知道private属性,然后用public的set,get方法,在其他类取得值。
给我个QQ互相学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是大神的回答,呵呵
不同类写在不同文件中,和写在同一文件中有什么区别?
--> 这个问题对小项目没有说明区别,但是如果你再一个文件中写了很多类,你时间长了就会忘记在什么地方,其他人看你的代码也很痛苦,建议一个类一个文件
下面的问题书上都有的
所谓包级私有怎么理解,具体怎么做可以实现,共有类和普通类,在使用自己定义的对象,函数上和父类子类还有接口上的区别是什么?
多看书吧
不同类写在不同文件中,和写在同一文件中有什么区别?
--> 这个问题对小项目没有说明区别,但是如果你再一个文件中写了很多类,你时间长了就会忘记在什么地方,其他人看你的代码也很痛苦,建议一个类一个文件
下面的问题书上都有的
所谓包级私有怎么理解,具体怎么做可以实现,共有类和普通类,在使用自己定义的对象,函数上和父类子类还有接口上的区别是什么?
多看书吧
追问
额,看书有点混。。能不能给分析下~_~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关于同包,同类其实只是修饰符的访问问题,你可以参照
http://www.blogjava.net/hwpok/archive/2011/09/03/357926.html
父类跟子类的问题可以用个简单的例子来说明
class animal{
void shout(){}
protected final String type="Animal";
public static void main(String[] args)
{
animal a = new dog();
a.shout();
a= new cat();
a.shout();
}
}
class dog extends animal {
void shout(){
System.out.println("wang wang!I am "+type);
}
}
class cat extends animal {
void shout(){
System.out.println("miao miao!I am "+type);
}
}
方法可以实现不同的功能,但是他们确实继承于同一类
面向对象用的比较多,要好好理解。
http://www.blogjava.net/hwpok/archive/2011/09/03/357926.html
父类跟子类的问题可以用个简单的例子来说明
class animal{
void shout(){}
protected final String type="Animal";
public static void main(String[] args)
{
animal a = new dog();
a.shout();
a= new cat();
a.shout();
}
}
class dog extends animal {
void shout(){
System.out.println("wang wang!I am "+type);
}
}
class cat extends animal {
void shout(){
System.out.println("miao miao!I am "+type);
}
}
方法可以实现不同的功能,但是他们确实继承于同一类
面向对象用的比较多,要好好理解。
更多追问追答
追问
额,这个回去得好好瞧瞧。。爪机无力。。那个我现在有点不明白一个类如果不继承,也可以在另一个类中创建这个类的对象是吧?那继承是为了使用原有的一个类扩展另一个类的方法对象?那可以理解为,实际上可以不用继承,只不过程序会出现很多多余的重复部分,而且联系性比较差?
追答
继不继承跟在另外一个类创建这一个类没关系,跟修饰符有关系。
继承也没有你想得那么简单,你可以去看看多态的内容,里面很详细,我刚才只是举了一个简单的例子,就是说类型是一样的,调用的方法不同,就像a,从头到尾都是animal的类型,但是调用出来的方法确实不一样的。
这个不仅仅是省略了多余的部分,更多的是一种设计思想,在运行环境中,有时候根本不知道方法调用的是哪个。。
比如
public animal getAnimal(int i)
{
if(i==0){return new dog();}
else {return new cat();}
}
我这个只是随便写的,我想说的是可以根据需要来产生对象,而这个对象就是animal的子类,如果是其他类(非继承类)就错了。。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不同类写在不同文件中,和写在同一文件中有什么区别--- 没什么区别 文件只不过是区分当前类是做什么用的 让别人能看懂
追问
额,怎么样才算是在一个包里?怎么样就不是了?平时我都用myelipse直接分别创建的。。一直没在意。。突然发现根本不知道怎么回事的说。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询