精华内容
下载资源
问答
  • 创建抽象类的匿名子类对象 父类 抽象类——Person abstract class Person { //其他方法及变量定义 ..... //抽象方法 public abstract void eat(); } 创建Person类的匿名子类对象 //method 为已创建的一...

    创建抽象类的匿名子类对象

    父类 抽象类——Person

    	abstract class Person {
    		//其他方法及变量定义
    		.....
    		//抽象方法
    		public abstract void  eat();
    	}
    
    

    创建Person类的匿名子类对象

    //method 为已创建的一个方法
    		method(new Student)//非匿名类的匿名对象
    	
    		Student stu  = new Student();
    		method(stu);//非匿名的类的非匿名对象
    
    
    //创建了一匿名类的对象,对象名为p
    		Person p = new Person{
    			//覆盖(实现)父类Person中的抽象方法
    			@Override
    			public void eat(){
    			//方法体
    			}
    		}
    //调用匿名子类对象
    		method(p);
    

    使用目的:只会使用一次的类,就不用新建一个类。最终目标——省事

    创建Person类的匿名子类的匿名对象

    		method(new Person{
    		//覆盖Person类中的抽象类方法
    		@Override
    		public void  eat(){
    		//具体实现的方法体
    		
    		}
    		})
    
    展开全文
  • //创建了一匿名子类对象:p Person p = new Person(){ @Override public void eat() { System.out.println("吃东西"); } @Override public void breath() { System.out.println(...
    package com.atguigu.java;
    /*
     * 抽象类的匿名子类
     * 
     */
    public class PersonTest {
    	
    	public static void main(String[] args) {
    		
    		method(new Student());//匿名对象
    		
    		Worker worker = new Worker();
    		method1(worker);//非匿名的类非匿名的对象
    		
    		method1(new Worker());//非匿名的类匿名的对象
    		
    		System.out.println("********************");
    		
    		//创建了一匿名子类的对象:p
    		Person p = new Person(){
    
    			@Override
    			public void eat() {
    				System.out.println("吃东西");
    			}
    
    			@Override
    			public void breath() {
    				System.out.println("好好呼吸");
    			}
    			
    		};
    		
    		method1(p);
    		System.out.println("********************");
    		//创建匿名子类的匿名对象
    		method1(new Person(){
    			@Override
    			public void eat() {
    				System.out.println("吃好吃东西");
    			}
    
    			@Override
    			public void breath() {
    				System.out.println("好好呼吸新鲜空气");
    			}
    		});
    	}
    	
    	
    	public static void method1(Person p){
    		p.eat();
    		p.breath();
    	}
    	
    	public static void method(Student s){
    		
    	}
    }
    
    class Worker extends Person{
    
    	@Override
    	public void eat() {
    	}
    
    	@Override
    	public void breath() {
    	}
    	
    }
    
    展开全文
  • 这里的Person类是抽象类类,抽象类本身是不能被实例化的。 package oopabstract; public class AbstractClassAnonymous { public static void ...//非匿名类的非匿名对象 System.out.println("=================

    这里的Person类是抽象类类,抽象类本身是不能被实例化的。

    package oopabstract;
    
    public class AbstractClassAnonymous {
        public static void main(String[] args) {
            Worker worker = new Worker();
            method(worker);//非匿名类的非匿名对象
    
            System.out.println("=======================");
    
            Person p = new Person() {//抽象类本身是不能造对象的
                @Override
                public void eat() {
                    System.out.println("抽象类的匿名子类的非匿名对象 + eat方法");
                }
    
                @Override
                public void breathe() {
                    System.out.println("抽象类的匿名子类的非匿名对象 + breathe方法");
                }
            };
            method(p);//抽象类的匿名子类的非匿名对象
    
            System.out.println("=======================");
    
            method(new Person() {///抽象类本身是不能造对象的
                @Override
                public void eat() {
                    System.out.println("抽象类的匿名子类的匿名对象 + eat方法");
                }
    
                @Override
                public void breathe() {
                    System.out.println("抽象类的匿名子类的匿名对象 + breathe方法");
                }
            });
        }
    
        public static void method(Person p) {
            p.eat();
            p.breathe();
        }
    }
    
    
    
    abstract class Person {
        private String name;
        private int age;
        public Person() {
        }
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public abstract void eat();
        public abstract void breathe();
    }
    
    
    class Worker extends Person {
        @Override
        public void eat() {
            System.out.println("Worker的eat方法");
        }
        @Override
        public void breathe() {
            System.out.println("Worker的breathe方法");
        }
    }
    
    
    展开全文
  • Java基础语法67-创建抽象类的匿名子类对象 package com.java9; /* * 抽象类的匿名子类 * */ public class PersonTest { public static void main(String[] args) { method(new Student());//匿名对象 ...

    Java基础语法67-创建抽象类的匿名子类对象

    package com.java9;
    /*
     * 抽象类的匿名子类
     * 
     */
    public class PersonTest {
       
       public static void main(String[] args) {
          
          method(new Student());//匿名对象
          
          Worker worker = new Worker();
          method1(worker);//非匿名的类非匿名的对象
          
          method1(new Worker());//非匿名的类匿名的对象
          
          System.out.println("********************");
          
          //创建了一匿名子类的对象:p
          Person p = new Person(){
    
             @Override
             public void eat() {
                System.out.println("吃东西");
             }
    
             @Override
             public void breath() {
                System.out.println("好好呼吸");
             }
             
          };
          
          method1(p);
          System.out.println("********************");
          //创建匿名子类的匿名对象
          method1(new Person(){
             @Override
             public void eat() {
                System.out.println("吃好吃东西");
             }
    
             @Override
             public void breath() {
                System.out.println("好好呼吸新鲜空气");
             }
          });
       }
       
       
       public static void method1(Person p){
          p.eat();
          p.breath();
       }
       
       public static void method(Student s){
          
       }
    }
    
    class Worker extends Person{
    
       @Override
       public void eat() {
       }
    
       @Override
       public void breath() {
       }
       
    }
    
    package com.java9;
    
    public class AbstractTest {
       public static void main(String[] args) {
          
          
       }
    }
    
    abstract class Creature{
       public abstract void breath();
    }
    
    abstract class Person extends Creature{
       String name;
       int age;
       
       public Person(){
          
       }
       public Person(String name,int age){
          this.name = name;
          this.age = age;
       }
       
       public abstract void eat();
       
       public void walk(){
          System.out.println("人走路");
       }
       
       
    }
    
    
    class Student extends Person{
       
       public Student(String name,int age){
          super(name,age);
       }
       public Student(){
       }
       
       public void eat(){
          System.out.println("学生多吃有营养的食物");
       }
    
       @Override
       public void breath() {
          System.out.println("学生应该呼吸新鲜的没有雾霾的空气");
       }
    }
    
    展开全文
  • 抽象类和抽象方法的使用 抽象类和抽象方法的使用 ... /* * abstract关键字的使用 * 1.abstract:抽象的 * 2.abstract可以用来修饰的结构:类、方法 ... 开发中,都会提供抽象类的子类,让子类对象
  • Java抽象类的匿名子类

    2021-08-11 10:57:00
    3.匿名子类的非匿名对象 4.匿名子类的匿名对象 匿名说到底就分为以上四种情况,下面将从程序中弄清楚这四种情况的用法: package com.java.oop5; /** * @description: 抽象类的匿名子类 * 涉及到匿名的东西,都是...
  • 匿名对象我们经常会用到,但是类呢? 类还能匿名? 类匿名了还能创建对象,并且能创建有名对象匿名对象
  • 抽象类中一定有构造器,便于子类实例化的时候调用(涉及:子类对象实例化的全过程) 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 4.abstract修饰方法:抽象方法 抽象方法只有方法的声明,...
  • 抽象类的匿名子类

    2021-05-12 22:56:56
    抽象类的匿名子类 abstract class PersonOfInterest { private String name; private String guyKind; public PersonOfInterest(String name, String guyKind) { super(); this.name = name; this....
  • * **抽象类的匿名子类和匿名对象** * * * */ public class PeronTest { public static void main(String[] args) { method(new Student()); //匿名对象 worker worker = new worker(); ...
  • 如何写抽象类的匿名子类

    千次阅读 2021-05-11 20:26:50
    在创建匿名子类对象的时候重写抽象类中的方法 抽象类 package java; public class AbstractTest { public static void main(String[] args) { Student stu = new Student();//创建Student类的对象stu ...
  • 匿名内部类其实就是一个匿名 子类对象。格式:new 父类对象 or 接口(){子类内容;(覆盖父类的, 而且可以增加自己的方法)}//相当于将 继承父类 和 new 的过程 写到了一起有某有!很方便有某有!*/class Outer{int ...
  • 匿名对象 匿名就是没有名字的对象,在创建对象时,只通过new的动作在堆内存开辟空间,却没有把堆内存空间的地址值赋值给栈内存的某个变量用以存储 class Student{ String name; public Student(){ this.name = ...
  • 抽象类与抽象方法 随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更...》 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化全过程)(只要类就要构造器) 》 开发中,都会提供
  • I have a factory method that creates objects to be used in unit tests. These objects all derive from the same base class:public static T modMake(Class clazz){try {return clazz.newInstance();...
  • Java之匿名类与子类

    2021-03-13 10:40:07
    【解释】Java允许直接使用一个类的子类的类体创建一个子类对象。例如,假设Bank是一个类,那么下列代码就是用Bank的一个子类(不比显示地实现定义这个子类,因此该子类是一个匿名类)创建对象:new Bank{匿名类的类体}...
  • 多线程的理解,创建,匿名子类的使用。 多线程的创建,方式一:继承于Thread类 1.创建一个继承于Thread类的子类 2.重写Thread类的方法 3.创建Thread类的子类的对象 4.通过此对象调用start(): (1)启动当前线程 (2...
  • 匿名对象指的是在创建对象是,只有创建对象的语句,却没有吧对象的地址只附给某个变量 也就是说这个对象值使用一次。例如 Person p=new Person();这是普通创建对象的方法。 不要前面的变量直接写new Person()这就...
  • 一、匿名对象 匿名对象是指在创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量,如:对于已存在的Student类: 创建一个普通对象 Student st=new Student(); 项目
  • 抽象的匿名子类

    2021-11-27 12:30:26
    * 抽象的匿名子类 */ public class PersonTest { public static void main(String[] args) { // TODO Auto-generated method stub method(new Student("xt",23)); //匿名对象 Worker w=new Worker(); ...
  • 匿名对象的概念匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。public classPerson{public voideat(){System.out.println();}}创建一个普通对象Person p = new Person();创建一个...
  • Java 面向对象(下 2)

    2021-07-05 22:57:22
    abstract修饰类:抽象类 * > 此类不能实例化 —— 老大自己不做事 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * > 开发中,都会提供抽象类的子类,让子类对象实例化,完成...
  • 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run()方法的主体称为线程体 通过该Thread对象的start()方法来启动这个线程,而非直接调用run() Tread类 构造器 Thread():创建新的Thread...
  • 举一个栗子: package main import ( "fmt" ) type ...//完整调用方法 p.fullAddress() //父结构对象直接调用子结构方法 } 由于address匿名,所以可以通过p直接调用fullAddress(),注意方法不可以同名(这种情况下)
  • Java匿名对象和内部类

    2021-03-15 02:41:17
    匿名对象匿名对象的特点创建匿名对象直接使用,没有变量名。new Person().eat() //eat方法被一个没有名字的Person对象调用了。匿名对象在没有指定其引用变量时,只能使用一次。newPerson().eat(); 创建一个匿名对象...
  • 匿名对象 没有变量名的对象 特点 匿名对象如果不给变量赋值 只能使用一次 匿名对象可以作为方法的参数和返回值 常见的使用:为ArrayList类添加对象 ArrayList<Person> list = new ArrayList<Person>()...
  • 创建了接口的匿名实现类的非匿名对象 USB phone = new USB(){ @Override public void start() { System.out.println("手机开始工作"); } @Override public void stop() { System.out.println("手机结束工作"); } };...
  • Java 匿名类的理解

    2021-04-23 16:55:22
    Java中允许创建子类对象时,除了使用父类的构造方法外,还可以用类体。匿名类就是一个没有类申明的类体,因为没有名称,所有匿名类不可以申明对象,但却可以创建对象。例如A是一个子类,那么下面的代码就是A的一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,361
精华内容 32,944
关键字:

匿名子类对象