-
运行结果:
通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。
查看全部 -
查看全部
-
类是以代码形式保存在文件当中,也就是磁盘当中,实例化就是把它的信息保存到内存当中,这些在内存中的信息的集合就叫做对象。 总的来说,类在磁盘中就是类,在内存中就是对象。查看全部
-
访问修饰符定义权限
查看全部 -
super关键字的应用
查看全部 -
类确定对象拥有的属性和方法查看全部
-
万物皆对象,是真实存在的,类是抽象的,客观上是不存在的,类是具有相同特征和属性的对象的集合。查看全部
-
3
语法:[修饰符] interface 接口名 [extends 父接口1 父接口2 ...]{
零个到多个常数定义...
零个到多个抽象方法定义...}
【接口通常用来被继承,被实现,修饰符建议使用public。注意:不能使用private和protected】
4【使用接口】一个类可以通过implements关键字来实现一个或多个接口。Java中一个类只能继承一个父类,但可实现多个接口做补充
【语法】
【修饰符】class类名extends父类implements接口1,接口2{类体部分//如果继承了抽象类,需要实现继承的抽象方法;要实现接口中的抽象方法}
5接口的引用可以指向一个实现了接口的对象
6匿名内部类也就是没有名字的内部类
正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写
但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口
【语法格式】
interfacename i=new interfacename(){public void methodname(){方法体//System.out.println("xxxx")}};
i.methodname();//直接调用methodname方法
查看全部 -
问:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊!!
答:内部类的主要作用如下:
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
问:内部类有几种呢?
答:内部类可分为以下几种:
成员内部类
静态内部类
方法内部类
匿名内部类
查看全部 -
语法定义:abstract关键字修饰
应用场景:
在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。(即父类为抽象类的设定,设定有几种功能,其子类也限制在这几种功能里,但是如何实现,是子类自己的事情)
从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了之类设计的随意性。
查看全部 -
Java中的包
查看全部 -
封装的概念和好处
查看全部 -
封装的实现步骤
查看全部 -
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员;
如果需要再静态方法中调用非静态成员,可以通过创建类的对象,然后通过对象访问非静态变量;
再普通成员方法中,则可以直接访问同类中的非静态成员和静态成员;
静态方法中不能直接调用非静态方法,需要同构对象来访问非静态方法;
查看全部 -
Java 中的静态内部类
静态内部类是 static 修饰的内部类,这种内部类的特点是:
1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问
2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员
3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
查看全部
举报