内部类

作者: xiaoliman | 来源:发表于2017-08-07 08:38 被阅读0次
  1. 内部类: 一个类里面再定义一个类 , 里面的类叫做 内部类
    外面的类 外部类,宿主类

  2. 内部类 : 通常是为了帮助管理外部类事物的,则内部类可以访问外部类的属性和方法,即使外部类属性和方法是私有的

3.内部类的分类:
成员内部类: 相当于外部类的一个成员属性 或者成员方法
静态内部类
局部内部类
匿名内部类
4.使用场景: 这个内部类只可以帮助 这一个外部类实现外部类的需求
5.先要创建外部类对象 通过外部类对象 创建内部类对象

  1. 格式:外部类对象.new 内部类();
    main:
public class Test {

   public static void main(String[] args) {
       MemeberInner memeberInner = new MemeberInner();

       MemeberInner.Inner inner = memeberInner.new Inner();
       inner.eat();
       
       
       MemeberInner2 memeberInner2 = new MemeberInner2();
       Inner inner2 = memeberInner2.new  Inner();
       inner2.sleep();
       
   }
}
  1. 成员内部类,可以用四种访问权限修饰符修饰
  2. 成员内部类中 ,不允许直接用静态的属性和方法,但是属性可以 用 final static 修饰变成常量
  3. 内部类中可以使用外部类中的属性和方法 包括私有的

内部类1

package com.qf.demo9;

public class MemeberInner {

    private String name ="太和殿";
    private int age = 300;
    
    public void sleep(){
        System.out.println("一片寂静");
    }
    
    // 成员内部类
    // 可以用四种访问权限修饰符修饰
     class Inner{
        // 成员内部类中 不允许直接用静态的属性和方法
         // 但是属性可以 用 final static 修饰变成常量
        public final static     String sex = "不详";
        private double money;
        
        public  void eat(){
            // 内部类中可以使用外部类中的属性和方法  包括私有的
            System.out.println(age);
            sleep();
            System.out.println(name);
            System.out.println("吃");
        }
        
    }
    
    
}

1.外部类和内部类属性同名的时候 默认调用的是 内部类中的属性
1.想要调用外部类的对象 创建外部类对象 . 属性
内部类2

package com.qf.demo9;

public class MemeberInner2 {

    private  String name = "小花";
    private int age = 2;
    
    public void  open(){
        System.out.println("开花");
    }
    
    class Inner{
        // 外部类和内部类属性同名的时候   默认调用的是 内部类中的属性
        // 想要调用外部类的对象    创建外部类对象 . 属性
        private  String name = "小草";
        private int age = 5;
        
        public void sleep(){
            // this 指代的是内部类的对象
            
            MemeberInner2  memeberInner2 = new MemeberInner2();
            System.out.println(memeberInner2.name);
            
            System.out.println("冬眠");
        }
        
        
    }
    /**
     * 使用场景: 这个内部类只可以帮助  这一个外部类实现外部类的需求
     * 
     */
}

相关文章

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • Java 内部类

    内部类包括成员内部类、方法内部类、*静态内部类、匿名内部类*。 内部类的作用 由于内部类的实现和外部类没有关系,内...

  • Java学习——内部类

    内部类 一,成员内部类(包括静态内部类和非静态内部类) 非静态内部类可以直接访问外部类的成员,反之则不行 非静态内...

  • Java 内部类、静态内部类、方法内部类(未完待续)

    内部类 什么是内部类?内部类其实就是在一个类中创建的类。内部类有四种: 成员内部类 静态内部类 局部内部类 匿名内...

  • java 内部类

    一般有四种内部类的使用方式: 嵌套的内部类 方法内的内部类 静态内部类 匿名内部类 什么时候用内部类: 有时候明显...

  • 内部类

    内部类 1.可以访问访问其外部类所有属性和方法,无需创建外部类对象 2.必须创建内部类对象,否则无法从外部类访问内...

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

  • java——内部类

    内部类 定义: 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内...

  • java之面向对象5

    方法内部类: 简而言之就是定义在外部类的方法内的类。 方法内部类只在该方法的内部可见,即只在该方法内可以使用。 方...

  • Java 内部类

    1. 内部类 概念:在一个类的内部再定义一个完整的类内部类分为 4 类:成员内部类、静态内部类、局部内部类、匿名内...

网友评论

      本文标题:内部类

      本文链接:https://www.haomeiwen.com/subject/ecdolxtx.html