Java 内部类
2016-03-22 16:23
357 查看
1. 内部类的作用
2. Java成员内部类
3. java 静态内部类
4. java 中的方法内部类
5. Java继承关系
内部类的作用
1. 隐藏,提供更好的封装,不允许同一个包中的其他类访问该类。
2. 内部类可以直接访问外部类的数据,包括私有数据。
3. 内部类所实现的功能使用外部类同样可以实现,但有时使用内部类更加方便。
- 内部类可以分为
1. 成员内部类
2. 静态成员内部类
3. 方法内部类
4. 匿名内部类
Java成员内部类
java 静态内部类
java 中的方法内部类
方法内部类就是定义在外部类的方法中的类,该类只能在方法内部使用,
注意:由于方法内部类不能在外部类的其他地方使用,因此方法类不能使用访问控制修饰符和static。
Java继承关系
class 子类 extends 父类 ,父类当中的变量如果是private,那么将不能继承。
Java方法的重写
如果子类对父类的方法不满意,可以重写父类的方法,调用时优先调用子类方法。
语言规则
a. 返回值类型
b. 方法名
c. 参数类型及个数
都要与父类相同,才叫重写。
2. Java成员内部类
3. java 静态内部类
4. java 中的方法内部类
5. Java继承关系
内部类的作用
1. 隐藏,提供更好的封装,不允许同一个包中的其他类访问该类。
2. 内部类可以直接访问外部类的数据,包括私有数据。
3. 内部类所实现的功能使用外部类同样可以实现,但有时使用内部类更加方便。
- 内部类可以分为
1. 成员内部类
2. 静态成员内部类
3. 方法内部类
4. 匿名内部类
public class HelloWorld{ public class inner{ // 定义一个内部类 public void show(){ // 创建一个内部类方法 System.out.println("我爱中国"); } } public static void main(String[]args){ // 创建外部类对象 HelloWorld hello = new HelloWorld(); // 创建内部类对象 inner i = hello.new inner(); // 调用内部类对象 i.show(); } }
Java成员内部类
public class Outer { // 外部类私有属性 private String name = "China"; int age = 20; // 成员内部类 public class inner{ String name="我爱中国"; // 内部类中的方法 public void show(){ // 在内部类中使用类关键字this,区分内部类变量和外部类相同变量 System.out.println("外部类中的name:"+Outer.this.name); System.out.println("内部类中的name"+name); // 在内部类中可以直接访问外部类变量 System.out.println("外部类中的age:"+age); } } // 测试成员内部类 public static void main(String[] args){ // 创建外部类对象 Outer O = new Outer(); // 创建内部类对象 inner inn = O.new inner(); // 调用内部类对象的show方法 inn.show(); } }
java 静态内部类
public class SOuter { private int a = 99; //外部私有变量 static int b = 1; //外部静态变量 // 静态内部类 public static class SInner{ int b = 2; // 内部类的变量 public void test(){ System.out.println("访问外部类的b:"+ SOuter.b); // 通过类名.静态成员名访问外部变量 System.out.println("访问内部类的b:"+ b); } } public static void main(String [] args){ SInner si = new SInner(); si.test(); } }
java 中的方法内部类
方法内部类就是定义在外部类的方法中的类,该类只能在方法内部使用,
注意:由于方法内部类不能在外部类的其他地方使用,因此方法类不能使用访问控制修饰符和static。
//外部类 public class HelloWorld { private String name = "中国梦"; // 外部类中的show方法 public void show() { // 定义方法内部类 class MInner { int score = 83; public int getScore() { return score + 10; } } // 创建方法内部类的对象 MInner mi = new MInner(); // 调用内部类的方法 mi.getScore(); int Newscore = mi.getScore(); System.out.println("姓名:" + name + "\n加分后的成绩:" + Newscore); } // 测试方法内部类 public static void main(String[] args) { // 创建外部类的对象 HelloWorld mo = new HelloWorld(); // 调用外部类的方法 mo.show(); } }
Java继承关系
class 子类 extends 父类 ,父类当中的变量如果是private,那么将不能继承。
Java方法的重写
如果子类对父类的方法不满意,可以重写父类的方法,调用时优先调用子类方法。
语言规则
a. 返回值类型
b. 方法名
c. 参数类型及个数
都要与父类相同,才叫重写。
相关文章推荐
- Java设计模式简介--策略模式--工厂方法模式--详细请看其他的两篇文章
- Java多线程系列--“JUC原子类”03之 AtomicLongArray原子类
- Spring Security(09)——Filter
- Java多线程系列--“JUC原子类”02之 AtomicLong原子类
- Java工程师技术栈--成神之路
- 手动配置hibernate5.1入门(1)
- Java字符串:String使用详解及源码分析
- Spring JdbcTemplate方法详解
- Java——Swing
- spring + mybatis 创建项目
- JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
- JAVA基础1 语法基础变量与常量
- java.lang.UnsupportedClassVersionError
- Java多线程系列--“JUC原子类”01之 框架
- JavaSE入门学习31:Java常用类之Math类
- java调用webservice接口500错误
- java这种语言
- Java源码学习之Integer类(一)
- 用myeclipse 10 自带的浏览器打开页面,提示“当前页面的脚本发生错误”
- myeclipse10配置maven