精华内容
下载资源
问答
  • java中为什么子接口还要重写接口中的方法,如Set接口继承Collection接口后,Set接口中有很多方法对Collecion接口中进行重新声明
  • 1、Java 类,打印环境变量package cn.edu.jxnu.base; import org.springframework.boot.bind.RelaxedPropertyResolver; import org.springframework.context.EnvironmentAware; import org.springframework.context...
    1、Java 类,打印环境变量
    package cn.edu.jxnu.base;
    
    import org.springframework.boot.bind.RelaxedPropertyResolver;
    import org.springframework.context.EnvironmentAware;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.env.Environment;
    
    /**
     * 获得环境变量
     * 
     * @author 梦境迷离
     * @version V1.0
     *
     */
    @Configuration
    public class MyEnvironmentAware implements EnvironmentAware {
    
    	/**
    	 * 设置环境的时候,获取属性
    	 */
    	@Override
    	public void setEnvironment(Environment env) {
    		// 通过 environment 获取到系统属性.
    		System.out.println(env.getProperty("JAVA_HOME"));
    		// 通过 environment 同样能获取到application.properties配置的属性.
    		System.out.println(env.getProperty("spring.datasource.master.url"));
    		System.out.println(env.getProperty("spring.datasource.cluster.url"));
    		// 获取到前缀是"spring.datasource." 的属性列表值.
    		RelaxedPropertyResolver relaxedPropertyResolver = new RelaxedPropertyResolver(env, "spring.datasource.");
    		System.out.println("spring.datasource.master.driver-class-name="
    				+ relaxedPropertyResolver.getProperty("master.driver-class-name"));
    	}
    
    }

    2、EnvironmentAware 从源码看方法签名

    /*
     * Copyright 2002-2017 the original author or authors.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    package org.springframework.context;
    
    import org.springframework.beans.factory.Aware;
    import org.springframework.core.env.Environment;
    
    /**
     * Interface to be implemented by any bean that wishes to be notified
     * of the {@link Environment} that it runs in.
     *
     * @author Chris Beams
     * @since 3.1
     * @see org.springframework.core.env.EnvironmentCapable
     */
    public interface EnvironmentAware extends Aware {
    
    	/**
    	 * Set the {@code Environment} that this component runs in.
    	 */
    	void setEnvironment(Environment environment);
    
    }
    

    3、Scala 实现Java接口

    package cn.edu.jxnu.base
    
    import org.springframework.boot.bind.RelaxedPropertyResolver;
    import org.springframework.context.EnvironmentAware;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.env.Environment;
    import scala.Unit
    
    /**
     * 获得环境变量
     *
     * @author 梦境迷离
     * @time 2018年5月16日
     * @version V2.0
     *
     */
    @Configuration
    class EnvironmentAwareUtil extends EnvironmentAware {
    
        /**
         * 1、extends实现Java接口
         * 2、覆盖Java的抽象方法
         * 3、override可选,入参和返回值必须相同
         * 4、如果方法访问权限是protected则可能需要使用Scala包级访问控制 protected[packageName]
         */
        override def setEnvironment(env: Environment): Unit = {
            // 通过 environment 获取到系统属性.
            println(env.getProperty("JAVA_HOME"));
            // 通过 environment 同样能获取到application.properties配置的属性.
            println(env.getProperty("spring.datasource.master.url"));
            println(env.getProperty("spring.datasource.cluster.url"));
            // 获取到前缀是"spring.datasource." 的属性列表值.
            val relaxedPropertyResolver = new RelaxedPropertyResolver(env, "spring.datasource.");
            println("spring.datasource.master.driver-class-name="
                + relaxedPropertyResolver.getProperty("master.driver-class-name"));
        }
    
    }

    在Spring中的效果是一摸一样的。



    展开全文
  • java实现接口中的重写

    千次阅读 2019-12-05 19:23:52
    java中的接口中的方法 在接口中是不允许使用private修饰符来修饰方法的 抽象的方法不允许有默认实现。 今天写了一个Demo实验了下,发现关于接口中定义方法的规则有如下几点: 1)接口中是可以定义静态方法的,...

    普通类implements接口

    1普通方法,抽象方法都得重写
    2.默认方法可重写,也可不重写

    抽象类implements接口

    1.由抽象类来实现接口,则不必重写接口的方法。可以全部不重写或只重写一部分方法

    public interface Demo {
    	 public void test1();//普通方法,需要重写
    	 public abstract void test2();//抽象方法
    	 public static void test3() {}//静态方法,接口中的静态方法不能被实现类继承和子接口继承
    	 public default void test4(){}//默认方法可以直接使用实现类的对象进行调用,也可以在实现类中对其进行覆盖重写。
    	 public static void main(String[] args) {}//接口可以有主函数
    }
    
    public class TestDemo implements Demo{
    
    	@Override
    	public void test1() {
    	}
    
    	@Override
    	public void test2() {}
    	
    	@Override
    	public void test4(){}//重写默认函数,也可以不重写
    
    	
    	
    
    }
    
    abstract class TestDemo01 implements Demo{
    	
    }
    

    注意:
    1.默认方法和静态方法需要有方法体
    2.静态方法不可以被重写。

    展开全文
  • java 实现接口重写方法报错

    千次阅读 2014-09-23 20:49:49
    java 实现接口重写方法报错 The method contextDestroyed(ServletContextEvent) of type InitListener must override a superclass method 解决方法: 1、Window->Preferences->Java->Compiler,选择...

    java 实现接口后重写方法报错

    The method contextDestroyed(ServletContextEvent) of type InitListener must override a superclass method

    解决方法:

    1、Window->Preferences->Java->Compiler,选择compiler compliance level:1.6,apply。

    2.单击项目右键-> Properties ->Java Compiler ,选择compiler compliance level:1.6, apply.

    展开全文
  • 普通的类要实现排序,必须实现Comparable接口,并重写CompareTo()方法。 package test;public class Field implements Comparabl
    原文地址为:普通java类(排序)实现Comparable接口重写CompareTo方法

    普通的类要实现排序,必须实现Comparable接口,并重写CompareTo()方法。 

    package test;

    public class Field implements Comparable<Field> {

    private String name;
    private int age;

    public Field() {
    }
    public Field(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;
    }

    @Override
    public int compareTo(Field o) {
    // 先按age排序
    if (this.age > o.getAge()) {
    return (this.age - o.getAge());
    }
    if (this.age < o.getAge()) {
    return (this.age - o.getAge());
    }
    // 按name排序
    if (this.name.compareTo(o.getName()) > 0) {
    return 1;
    }
    if (this.name.compareTo(o.getName()) < 0) {
    return -1;
    }
    return 0;
    }
    }

     

     测试类按照某属性进行排序输出:

    package test;

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;

    public class Test2 {
    public static void main(String[] args) {

    Field f1
    = new Field("tony", 11);
    Field f2
    = new Field("jack", 11);
    Field f3
    = new Field("tom", 11);
    Field f4
    = new Field("jason", 44);

    List
    <Field> list = new ArrayList<Field>();
    list.add(f1);
    list.add(f3);
    list.add(f4);
    list.add(f2);
    Collections.sort(list);

    for (Field o : list) {
    System.out.println(o.getAge()
    + "-->" + o.getName());
    }
    }
    }

     

     


    转载请注明本文地址:普通java类(排序)实现Comparable接口重写CompareTo方法
    展开全文
  • Java中继承接口重写同名方法?

    千次阅读 2007-08-10 12:13:00
    我们先定义一个接口A,再定义一个接口B,他们有相同的名称的方法,该方法类型也相同,当在MYCLASS类中继续了A,B这两个接口,重写ff方法时,重写的到底是A的ff方法还是B的ff方法?? (此种编译正常.运行没问题)interface A{...
  • 我们定义好接口和实现该接口的实体类后先重写、 ```java package Test20201208; public interface C { public default void say(){ System.out.println("接口" + "方法被调用"); } } ` package Test20201208;...
  • Java特殊重写overwrite

    2017-01-16 11:09:00
    java从1.5开始,支持重写方法的返回类型泛化 下面举个例子 接口SimpleDao.java package test; public interface SimpleDao { ParentBean findById(int id); } 接口实现类SimpleDaoImp package test; ...
  • 众所周知,在实现类中实现接口时,必须全部重写接口的抽象方法,如public interface MyInter{ function abstract void A(); function abstract voidB();}//实现类中,必须全部重写A和B方法public class MyClass ...
  • JAVA接口

    千次阅读 热门讨论 2021-03-21 20:17:56
    Java基础小结: 接口 接口就是功能的集合 里面定义多个抽象方法 定义格式 public interface 接口名{ 抽象方法 } 接口的使用 类实现接口 1.接口不能创建对象 2.定义实现类,实现接口 3.重写方法 4创建实现...
  • Java接口

    千次阅读 多人点赞 2018-12-24 12:00:36
    Java接口也表示IS-A关系。它不能像抽象类一样被实例化。 q) Java为什么需要接口 通过接口实现多继承 用于实现耦合 如下图所示,一个类扩展了另一个类,一个接口扩展了另一个接口,一个类实现了一个接口。 接...
  •  接口是抽象类的延伸,java了保证数据安全是不能多重继承的,也就是说继承只能存在一个父类,但是接口不同,一个类可以同时实现多个接口,不管这些接口之间有没有关系,所以接口弥补了抽象类不能多重继承的缺陷,...
  • java 重写接口中的方法,为什么必须在前加public呢
  • 详解:Java重写方法与示例

    千次阅读 多人点赞 2020-02-22 22:04:10
    在本指南中,我们将了解Java中什么是方法重写以及为什么使用它。 方法覆盖示例 让我们举一个简单的例子来理解这一点。我们有两个班级:一个孩子班,一个男孩班,一个父母班,人类班。在Boy类扩展Human类。这两个类...
  • Java 关于重写compareTo方法

    万次阅读 多人点赞 2017-07-17 20:21:47
    概述"当一个类实现类Comparable接口,此类就可以跟很多泛型算法(generic algorithm) 以及依赖于该接口 的集合实现(Collection implementation)进行协作"比如:字母排序,按数字排序,年代排序等等某种**定制排序** ...
  • 接口源码描述: Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second. 翻译:有序比较...
  • 一个类要拷贝,首先要继承接口Cloneable package com.mao.hah; public class AnotherClass implements Cloneable{ private int x; public AnotherClass() { x=12; } public int getX() { return x; } ...
  • java疯狂讲义中说重写返回值类型要比父类小,在eclipse中验证,重写返回值类型必须一致。
  • java重写toString()方法的意义

    千次阅读 多人点赞 2017-02-13 11:00:52
    学习Java的人都知道,Java所有类都是Object的子类。所以,所有的Java对象都可以调用Object类提供的方法。其中,toString()就是其中一个。下面讲解一下为什么会有重写toString()方法一说。 重写ToString 首先,...
  • 请问 一下 feign 调用其他服务, 一般通过对方服务将接口打jar包,通过依赖jar使用;还是通过需要什么接口重写一样的接口进行调用,哪一种是比较推崇的?
  • 新手小白学JAVA 接口 面向接口开发

    万次阅读 多人点赞 2021-05-13 13:35:52
    接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 接口并不是类,编写接口的方式和类很相似,但是...
  • Java重写和重载的区别

    千次阅读 2020-03-24 21:58:03
    重写 重载 类 父子类、接口与实现类 本类 方法名称 一致 一致 参数列表 一定不能修改 必须修改 ...
  • java重写compareTo()函数

    千次阅读 2020-07-03 21:07:15
    所以需要重写compareTo()函数。 class student implements Comparable<Object>{//继承Comparable,定义方法 public String name; public int age; public int compareTo(Object o){//接受参数值,为一个...
  • java接口中的default方法

    万次阅读 多人点赞 2018-02-24 17:26:16
    java8以后,接口中可以添加使用default或者static修饰的方法,在这里我们只讨论default方法,default修饰方法只能在接口中使用,在接口种被default标记的方法为普通方法,可以直接写方法体。实现类会继承接口中的...
  • 强烈推荐文章:屏蔽csdn百度推广广告...OnClickListener接口重写onClick方法 XML: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 344,473
精华内容 137,789
关键字:

java接口的重写

java 订阅