IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 二刷java继承第十天——面向对象(结束) -> 正文阅读

[Java知识库]二刷java继承第十天——面向对象(结束)

匿名对象
* 没有名字的对象
* 堆区的那个地址,没有用变量来保存
匿名对象的使用场景
* 快速访问 (测试)
* 传参

public class test01 {
      public static void main(String[] args) {
		    new mi();
		    
		    new mi().a=18;
		                               //匿名对象
		    new mi().q();
		    Q(new mi());
	}
      
      
      public static void Q(mi m) {
    	  System.out.println("tom");
      }
}


class mi{
	
	
	int a;
	
	public void q() {
		System.out.println(17);
		
	}
	
}

内部类(外部类$内部类)

  • 在类中定义类

  • 允许在类的内部,再去定义类

内部类

  • 类中方法外 (成员内部类)
  • 外部类.内部类 变量名 = new 外部类().new 内部类();
  • 方法中(局部内部类)
 public class test02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
   
		 AK.B  b = new AK().new B();
		 System.out.println(b);
		 
		 AK A = new AK();  //调用局部内部类
		  A.kk();    //调用外层方法
	}

}

    //内部类
class AK{
	int a;
	class B{
		int b;
	}
	
	public void kk() {
		class R{
			
			public void z() {
				System.out.println("fafa");
			}
			
			
		}
		new R().z();  //局部内部类需要在方法new这个方法,在外层方法里
	}
	
}

匿名内部类

*快速的实例化接口,或者抽象类

  • 一般采用多态的手法去实例化(用变量来保存该匿名内部类)

  • new 接口/抽象类(){
    
    
       重写父类的方法
    }new 接口/抽象类(){
    
    
       重写父类的方法
    }.方法名();
    
public class test03 {
  //利用了多态
	public static void main(String[] args) {
		// TODO Auto-generated method stub
     /*
		new map(){
    	 
    	 
    	public void ma() {
    		System.out.println("我是匿名内部类");          匿名内部类的格式
    		
    		                                        
    	}
    	
    	 
     };
     */
//		System.out.println(
//				
//				
//				new map(){
//			    	 
//			    	                             //输出的是一个内部类的地址
//			    	public void ma() {
//			    		System.out.println("我是匿名内部类");
//			    	}
//			    	
//			    	 
//			     }	
//				
//				
//				);
		
		/*
		new map(){
	    	 
	    	 
	    	public void ma() {
	    		System.out.println("我是匿名内部类");        //  匿名内部类的格式  需要重写接口中的方法
	    		
	    		                                          //调用接口中的方法
	    	}
	    	
	    	 
	     }.ma();
		*/
		
		
		
	       map ma =new map(){
	    	 
	    	 
	    	public void ma() {
	    		System.out.println("我是匿名内部类");        //  匿名内部类的格式 可以直接赋值给数据类型
	    		
	    		                                        
	    	}
	    	
	    	 
	     };
	     ma.ma();   //然后可以这样直接调用接口中的方法
		
	}

}


interface map{
	
	public void ma();
	
}

代码块
构造代码块(类中方法外)
* 在创建对象的时候调用
* 优于构造方法
局部代码块(方法内)
静态代码块,在代码快加static;常用
* 加载数据
* 加载驱动
* 媒介 : 系统软件和硬件的连接者

public class test04 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
          Y y = new Y();
          /*
           * 父类静态代码块
          子类静态代码块
           父类的普通d代码块
         父类的无参构造方法
         子类的普通d代码块
           子类的无参构造方法

           */
          y.G();//子类方法中的代码块
          
	}

}

class X{
	
	static {
		System.out.println("父类静态代码块");
	}
	
	public X(){
		System.out.println("父类的无参构造方法");
	}
	
	{
		System.out.println("父类的普通d代码块");
	}
	public void G() {                          //方法中不能定义静态代码块
		{
			System.out.println("父类方法中的代码块");
		}
	}
}

class Y extends X{
	static {
		System.out.println("子类静态代码块");
	}
	
	public Y(){
		System.out.println("子类的无参构造方法");
	}
	
	{
		System.out.println("子类的普通d代码块");
	}
	public void G() {        //重写父类中的方法                //方法中不能定义静态代码块
		{
			System.out.println("子类方法中的代码块");
		}
	}
}

修饰符

publicprotected空白private
同一个类 YYYY
同一个包(子类/无关类) YYY
不同包(子类) YY
不同包无关类 Y
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:29:19  更:2021-07-31 16:29:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/2 2:19:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码