非静态内部类知识点
来源:互联网 发布:sql server 2005安装 编辑:程序博客网 时间:2024/05/20 01:35
/**
* 测试非静态内部类
* 调用非静态内部类的方法时,要通过内部类实例来调用,非静态内部类实例必须寄生在外部类实例中
* 由非静态内部类 在同包其他类中创建对象的代码可以看出,内部类对象必须依附于外部类对象
* OutCow.InnCowLeg cowleg=cow.new InnCowLeg();
*
*/
public class TestInnClass01 {
public static void main(String[] args) {
OutCow cow=new OutCow(400);
cow.test();
OutCow.InnCowLeg cowleg=cow.new InnCowLeg();
cowleg.info();
}
}
class OutCow{
private int weight;
public OutCow(){ }
public OutCow(int weight){
this.weight=weight;
}
/**
* 1、定义一个非静态的内部类,非静态内部类不可以有静态方法和属性
* 2、内部类可以直接访问外部类的方法和变量
* 3、外部类不可以直接访问内部类的成员变量,非静态内部类的成员只在非静态内部类范围内是可知的,
* 不能被外部类直接使用
*/
class InnCowLeg{
private String color;
private double length;
public InnCowLeg(){}
public InnCowLeg(String color,double length){
this.color=color;
this.length=length;
}
public void info(){
System.out.println("当前牛腿颜色:"+color+", 高 "+length);
System.out.println("本牛腿所在牛的重量:"+weight);//内部类可以直接访问外部类私有数据
}
}
public void test(){
InnCowLeg cowleg=new InnCowLeg("黑白相间",1.02);
cowleg.info();
//color="棕色";//error :外部类不能直接访问内部类成员变量
cowleg.color="棕色";//Ok!
cowleg.info();
}
}
/*
在java中运行的结果是:
当前牛腿颜色:黑白相间, 高 1.02
本牛腿所在牛的重量:400
当前牛腿颜色:棕色, 高 1.02
* 测试非静态内部类
* 调用非静态内部类的方法时,要通过内部类实例来调用,非静态内部类实例必须寄生在外部类实例中
* 由非静态内部类 在同包其他类中创建对象的代码可以看出,内部类对象必须依附于外部类对象
* OutCow.InnCowLeg cowleg=cow.new InnCowLeg();
*
*/
public class TestInnClass01 {
public static void main(String[] args) {
OutCow cow=new OutCow(400);
cow.test();
OutCow.InnCowLeg cowleg=cow.new InnCowLeg();
cowleg.info();
}
}
class OutCow{
private int weight;
public OutCow(){ }
public OutCow(int weight){
this.weight=weight;
}
/**
* 1、定义一个非静态的内部类,非静态内部类不可以有静态方法和属性
* 2、内部类可以直接访问外部类的方法和变量
* 3、外部类不可以直接访问内部类的成员变量,非静态内部类的成员只在非静态内部类范围内是可知的,
* 不能被外部类直接使用
*/
class InnCowLeg{
private String color;
private double length;
public InnCowLeg(){}
public InnCowLeg(String color,double length){
this.color=color;
this.length=length;
}
public void info(){
System.out.println("当前牛腿颜色:"+color+", 高 "+length);
System.out.println("本牛腿所在牛的重量:"+weight);//内部类可以直接访问外部类私有数据
}
}
public void test(){
InnCowLeg cowleg=new InnCowLeg("黑白相间",1.02);
cowleg.info();
//color="棕色";//error :外部类不能直接访问内部类成员变量
cowleg.color="棕色";//Ok!
cowleg.info();
}
}
/*
在java中运行的结果是:
当前牛腿颜色:黑白相间, 高 1.02
本牛腿所在牛的重量:400
当前牛腿颜色:棕色, 高 1.02
本牛腿所在牛的重量:400
当前牛腿颜色:null, 高 0.0
本牛腿所在牛的重量:400
0 0
- 非静态内部类知识点
- 非静态内部类
- 非静态内部类
- 非静态内部类
- 静态内部类&非静态内部类
- 静态内部类&非静态内部类
- 静态内部类&非静态内部类
- 内部类---静态内部类和非静态内部类
- 内部类:非静态内部类,静态内部类,局部内部类,匿名内部类详解
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类与非静态内部类。
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- Linux netstat 命令
- Android View.post(Runnable )
- 【codevs1732】Fibonacci数列 2(矩阵快速幂)
- Learn Some Framework-1
- Java 访问 MongoDB (使用Spring-Data-MongoDB)
- 非静态内部类知识点
- 三自由度机械手工作空间的设计(MATLAB)
- Androidx学习笔记(63)---电话录(窃)音(听)机(器)
- c++习题——1
- POJ - 3481 Double Queue
- PHP实现模拟登录
- Androidx学习笔记(64)---服务两种启动方式
- 将java编写的socket程序运行于linux服务器上
- centos import cx_oracle ImportError: No module named cx_Oracle 解决方法