1、成员变量与局部变量的区别
2、构造方法的特点
3、静态修饰关键字 static
static可以修饰变量、方法和代码块。分别称为静态变量、静态方法、静态初始化块。
静态方法注意事项
静态初始化块注意事项
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能初始化静态变量,不能初始化普通的成员变量。
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块,而是执行普通初始化块和构造方法。
4、面向对象三大特征之封装
说明
将某些信息(一般是类的成员变量)隐藏在类中,只能通过本身类的方 法来访问或操作,外部程序不能访问
好处
1.隐藏类的细节,方便修改,符合高内聚低耦合的特点。
2.能保护类的内部信息,也更安全
3 步骤
1. 体现隐藏,保护的作用 ---------用private 修饰类的成员变量
2. 体现内部访问-----------------------用public getter/setter()方法来return成员变量
3. 在public getter/setter()方法中加控制语句对属性值的合法性进行判断。因为这个方法类似可以看做是个输出的接口,输出当然要合法,所以在这里要判断。
5、package 包
体现封装的特性,类似名称空间。管理类就像文件夹管理文件。名字相同的类放在不同的包中就不同。同一个包内不能放名字相同的类。
6、修饰符的范围
7、this关键字
代表当前对象,用时是this.属性 (变量或方法) 一般会在系统自动生成getter()和setter() 时使用,用来区分类的成员变量和方法的形参。
8、内部类
对于内部类,我的理解是还是体现封装性,保护内部数据访问权限,体现高内聚低耦合的特点。通过外部类的实例化对象来创建内部类的对象,可以理解为要受一点麻烦才能访问到内部类的数据。所以把private级别较高的数据就放到内部类里面。
eg: helloworld hello = new helloworld(); // 创建外部类对象
Inner i = hello.new Inner();// 创建内部类对象
i.show(); // 调用内部类对象的方法
成员内部类
访问权限
System.out.println("外部类name:" + HelloWorld.this.name );
System.out.println("内部类name:" + name );
静态内部类
是 static 修饰的内部类,(主要体现static的特点)特点如下:
静态内部类不能直接访问外部类的非静态成员(与前面static讲的访问权限相同,可以被普通类访问,但不能访问别人。)
可以通过 new 外部类().成员 的方式访问
创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();
(相比于非静态内部类,省略了new前面的外部类名)
System.out.println("外部类 private成员"+new helloworld().a);
System.out.println("静态内部类 成员"+score);
System.out.println("外部类 静态成员"+helloworld.score);
2025 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123