java system类有什么用,java中,在一个类中在写一个类有什么用处啊有那些好处呢
大家好,如果您还对java system类有什么用不太了解,没有关系,今天就由本站为大家分享java system类有什么用的知识,包括java中,在一个类中在写一个类有什么用处啊有那些好处呢的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
java中,在一个类中在写一个类有什么用处啊有那些好处呢
那个叫内部类
定义在一个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、protected、private等访问限制,可以声明为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。static的内部类行为上象一个独立的类,非static在行为上类似类的属性或方法且禁止声明static的方法。内部类可以访问外部类的所有方法与属性,但static的内部类只能访问外部类的静态属性与方法。
外部类按常规的类访问方式使用内部类,唯一的差别是外部类可以访问内部类的所有方法与属性,包括私有方法与属性。如:
pinner p= new pinner();
p.index= 20;
p.Print();
----这种方式适合外部类的非static方法;
pouter po= new pouter();
pinner pi= po.new pinner();
pi.index= 40;
pi.Print();
----这种方式适合外部类的static方法;
内部类类似外部类的属性,因此访问内部类对象时总是需要一个创建好的外部类对象。内部类对象通过‘外部类名.this.xxx’的形式访问外部类的属性与方法。如:
System.out.println("Print in inner Outer.index="+ pouter.this.index);
System.out.println("Print in inner Inner.index="+ this.index);
如果需要在其他类中访问内部类,可以使用:
(1)外部类提供创建内部类的方法供其他类使用。如:
//外部类
pinner getInner()
{
return new pinner();
}
//其他类
pouter.pinner pi= po.getInner();
pi.Print();
(2)直接创建内部类的对象。如:
pouter po= new pouter();
pouter.pinner pi= po.new pinner();
pi.Print();
内部类可以声明在外部类的方法中或语句块中。如果内部类需要访问包含它的外部类方法或语句块的局部变量或参数,则该局部变量或参数必须是final的。外部类的其他方法、其他类无法访问声明在方法内部或块内部的内部类。
如果一个类继承内部类,则创建该类的对象时需提供一个外部类的对象作为构造方法的参数。如:
class Car
{
class Wheel
{
}
}
class SuperWheel extends Car.Wheel
{
SuperWheel(Car car)
{
car.super();
}
public static void main(String [] args)
{
Car car= new Car();
SuperWheel wl= new SuperWheel(car);
}
}
如果创建命名的内部类没有多少实际意义时,可以创建匿名的内部类。比如使用内部类实现接口的功能(如事件处理器、适配器等),而功能的差异较大,需要根据实际的情况创建相应的内部类时,可以使用匿名内部类。简单的示例如下:
interface WebView
{
void doGet();
}
class A
{
WebView ShowName()
{
return new WebView()
{
void doGet()
{
System.out.println("Name");
}
};
}
WebView ShowCode()
{
return new WebView()
{
void doGet()
{
System.out.println("Code");
}
};
}
}
最后,JAVA内部类还有一个作用,那就是实现JAVA的多继承。JAVA本身是不允许多继承的,如果我们想一个类继承多个基类,就可以使用内部类。通过内部类分别继承一个基类,外部类创建内部类的对象,并使用内部类的方法,变相地实现了多继承。
Java 静态内部类作用
1、变值权限修饰作用,在定义内部类的时候,可以在其前面加上一个权限修饰符static。此时这个内部类就变为了静态内部类。
2、在某些特殊的情况下,少了这个静态内部类还真是不行。如在进行代码程序测试的时候,如果在每一个Java源文件中都设置一个主方法(主方法是某个应用程序的入口,必须具有),那么会出现很多额外的代码。
3、最主要的时这段主程序的代码对于Java文件来说,只是一个形式,其本身并不需要这种主方法。但是少了这个主方法又是万万不行的。在这种情况下,就可以将主方法写入到静态内部类中,从而不用为每个Java源文件都设置一个类似的主方法。
这对于代码测试是非常有用的。在一些中大型的应用程序开发中,则是一个常用的技术手段。
扩展资料例如:
对于两个类,拥有相同的方法:
class People{
run();
}
interface Machine{
run();
}
此时有一个robot类:
class Robot extends People implement Machine.
此时run()不可直接实现。
interface Machine{
void run();
}
class Person{
void run(){
System.out.println("run");
}
}
class Robot extends Person{
private class MachineHeart implements Machine{
public void run(){
System.out.println("heart run");
}
}
public void run(){
System.out.println("Robot run");
}
Machine.getMachine(){returnnew MachineHeart();
}
class Test{
publicstaticvoid main(String[] args){
Robot robot=new Robot();
Machine m=robot.getMachine();
m.run();
robot.run();
}
}
参考资料来源:百度百科-静态内部类
java中system.out.println()是什么意思
java.io.PrintStream类的对象,java.io.PrintStream类有些什么方法等一下再说。被关键字static修饰的数据成员或方法可以直接通过“类名.数据成员”或“类名.方法”来引用,而无须先建立对象。所以System.out是应用了out这个静态数据成员。
1、System是一个类,out是一个static PrintStream对象。由于它是“静态”的,所以不需要我们创建任何东西,所以只需直接用它即可。
2、println()的意思是“把我给你的东西打印到控制台,并用一个新行结束”。所以在任何Java程序中,一旦要把某些内容打印到控制台,就可条件反射地写上System.out.println("内容")。
拓展资料:
1、Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
2、Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
java中System.in里的in到底有什么用
System.in即为系统的标准输入流,相当于 C语言的 Standard Input。也就是说你用键盘在屏幕上输入的任何东西(包括回车空格各种功能键等)都属于 System.in。System.in本身是一个 InputStream类型,它包含有方法 read(),会返回下一个键盘输入的 ASCII码值。读取System.in时,如果标准输入中没有任何内容,程序会暂停来等待用户输入内容。比如你使用
inta=System.in.read();
这时系统会暂停来等待你的输入。此时你打一个回车,那么 a就会被赋值为 13,因为在 ASCII码表中回车对应的十进制整数是 13。可以参见这个 ASCII表:
Scanner类是要读取输入流的,所以要给它提供一个输入流,而最常见的输入流就是用户的键盘输入,所以常把 System.in标准输入流作为参数传给 Scanner。Scanner会自动把读取到输入流中的所有字符转换为相应的字符串。
另一个常见的就是标准输出流 System.out,它与 System.in相对,是一个 PrintStream类,是负责向屏幕上输出的。最常用的方法就是 System.out.println()。
System类中还有一个 PrintStream是 System.err,它是标准错误流,是用来在屏幕上输出错误信息的。一般会将它与 System.out分开,使得只要有错误就会立即在屏幕上输出。
java system类有什么用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中,在一个类中在写一个类有什么用处啊有那些好处呢、java system类有什么用的信息别忘了在本站进行查找哦。