Java 重写和重载

方法重写

返回值特性:子类重写父类方法,名字、参数一样,返回值必须是父类返回值的子类,编译会报错。

异常特性: 子类抛出的异常不能超出父类抛出的异常

访问级别: 子类方法的访问级别不能低于父类的访问级别

class Father{
    private String name;
    protected Father(String name){
        this.name = name;
    }

    protected Object setName(String name)throws Exception{
        this.name = name;
        return name
    }
}

class Son extends Father{

    private Son(String name) {
        super(name);
    }
    /*
	 * 子类的访问级别是   public > protected
     * 子类的返回值类型是 String < Object
     * 子类抛出的异常    IOException < Exception
     */
    public String setName(String name)throws IOException{
        return name;
    }
}
方法重载

相同的方法名称,不同的方法特征签名,返回值不属于重载的特征签名

方法特征签名: 参数类型、参数顺序、参数个数

//静态分派
class Person{
    protected String name = "Person";
}
class Human extends Person{
    protected  String name = "Human";
}
class Man extends Person{
    protected  String name = "Man";
}
class Wuman extends Person{
    protected  String name = "Wuman";
}
public class MethodOverLoad {
    public static void sayHello(Person person){
        System.out.println("Hello World : " + person.name);
    }
    public static void sayHello(Human person){
        System.out.println("Hello World : " + person.name);
    }
    public static void sayHello(Man person){
        System.out.println("Hello World : " + person.name);
    }
    public static void sayHello(Wuman person){
        System.out.println("Hello World : " + person.name);
    }

    public static void main(String[] args) {
        Person human = new Human();
        Person man = new Man();
        Person wuman = new Wuman();
		//这个属于静态分派,在编译时已经决定要调用的是哪一个方法
        sayHello(human);
        sayHello(man);
        sayHello(wuman);
    }
}

//动态分派
/**
  * 抽象动物类
  */
abstract class Animal{
    protected String name = "";
    protected abstract void sayHello
} 
/**
  * 子类Dog
  */
class Dog extends Animal{
   public Dog(){
       this.name = "Dog";
   }
    
   @Override
   protected void sayHello(){
       System.out.println(this.name);
   }
}
/**
  * 子类cat
  */
class Cat extends Animal{
 	
    public Cat(){
        this.name = "Cat";
    }
    
    @Override  
    protected void sayHello(){
        System.out.println(this.name);
    }
}


public class DynamicDispath{
    public static void main(String[] args){
        Animal dog = new Dog();
        Animal cat = new Cat();
        //动态分派,因为在编译期,是无法可dog的类型 只有在运行期间才能知道
        dog.sayHello();
        cat.sayHello();
    }
}

例子只是说明方法的参数类型.当方法的参数只有一个时,方法的调用顺序

即存在一个调用顺序char -> int -> long ->double ->
当没有基本类型就是继续找基本类型的包装类型
如果没有包装类方法,则调用包装类实现的接口的方法。
跟网型逆变器小干扰稳定性分析与控制策略优化研究(Simulink仿真实现)内容概要:本文围绕跟网型逆变器的小干扰稳定性展开分析,重点研究其在电力系统中的动态响应特性及控制策略优化问题。通过构建基于Simulink的仿真模型,对逆变器在不同工况下的小信号稳定性进行建模与分析,识别系统可能存在的振荡风险,并提出相应的控制优化方法以提升系统稳定性动态性能。研究内容涵盖数学建模、稳定性判据分析、控制器设计与参数优化,并结合仿真验证所提策略的有效性,为新能源并网系统的稳定运行提供理论支持技术参考。; 适合人群:具备电力电子、自动控制或电力系统相关背景,熟悉Matlab/Simulink仿真工具,从事新能源并网、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 分析跟网型逆变器在弱电网条件下的小干扰稳定性问题;② 设计并优化逆变器外环与内环控制器以提升系统阻尼特性;③ 利用Simulink搭建仿真模型验证理论分析与控制策略的有效性;④ 支持科研论文撰写、课题研究或工程项目中的稳定性评估与改进。; 阅读建议:建议读者结合文中提供的Simulink仿真模型,深入理解状态空间建模、特征值分析及控制器设计过程,重点关注控制参数变化对系统极点分布的影响,并通过动手仿真加深对小干扰稳定性机理的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值