package com.gezhi.practice;
/**
 * @功能 内部类演示,及Java封装概念
 * @author square 凉
 *@功能 创建外部类Out
 */
public class Out {
 /**
  * @功能 private修饰的成员变量userName
  */
 private String userName;
 public String getUserName() {
  return userName;
 }
 public void setUserName(String userName) {
  this.userName = userName;
 }
 public String getTel() {
  return tel;
 }
 public void setTel(String tel) {
  this.tel = tel;
 }
 public int getUserAge() {
  return userAge;
 }
 public void setUserAge(int userAge) {
  this.userAge = userAge;
 }
 /**
  * @功能 private修饰的成员变量tel
  */
 private String tel;
 /**
  * @功能 private修饰的成员变量userAge
  */
 private int userAge;
 /**
  * @功能 创建一个内部类 In
  * @author square 凉
  *@功能 内部类In 作为外部类Out 的一个成员变量存在,外部类无法直接访问内部类的成员或方法
  */
 class In{
  private String userName;
  private String tel;
  private int userAge;
  /**
   * @内部类的展示方法
   */
  public void show() {
  System.out.println(userName + tel + userAge); 
   
  }
  
 }
 /**
  * @外部类的show方法
  */
 public void show() {
  System.out.println(userName + tel + userAge);
  
 }
 
 
 
}
*********************************************************************************************************
package com.gezhi.practice;
import com.gezhi.practice.Out.In;
/**
 * @功能 程序入口
 * @author square 凉
 *
 */
public class MainEnter {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Out o = new Out();//实例化一个外部类对象o
  o.setUserName("张三");//通过对象调用username这个属性
  o.setTel("12345678910");//通过对象调用Tel这个属性
  o.setUserAge(20);//通过对象调用age这个属性
  o.show();//对象点方法调用类的方法
  In i = o.new In();//实例化一个内部类的对象
  i.show();//内部类的方法
  
 }
}

 

 
posted on 2019-04-01 13:19  square凉  阅读(230)  评论(0编辑  收藏  举报