Java1112 基类 c#vscode使用 程序结构

C#














生成





重新生成

c#程序结构

csharp 复制代码
//1个解决方案 可以有多个程序集
//命名空间 //可以包含多个namespace 
namespace ConsoleApp1
{
    internal class Program//类定义 程序内部类 program 可以有多个类
    {//string[] args当前方法需要传入的参数
     //c程序的执行入口必须是static void main
        static void Main(string[] args)//仅有一个 //方法体
        {//逻辑代码
            Console.WriteLine(">>Hello, World!");//结束符 //>> 输出并换行
            Console.Write("ss");
        }//逻辑性错误通过调试执行
    }
}

JAVA

基类

父类、超类 被其他类继承的类 所有的类都继承自Object

java 复制代码
public class ObjectMethods extends Object {
    public static void main(String[] args){
        Object ob1=new Object();
        Object ob2=new Object();
        System.out.println("toString:"+ob1.toString());

        System.out.println("equals:"+ob1.equals(ob2));

    }
}
java 复制代码
public class Animal {
    protected String name;
    protected int age;

    public Animal(String name,int age){
        this.name=name;
        this.age=age;
    }

    public void eat(){
        System.out.println(name+"eating....");

    }

    public void makeSound(){
        System.out.println("making noise");
    }
    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 String toString() {
        return "Animal{name='" +name+"', age=" +age +"}";

    }
}
java 复制代码
public class Dog extends Animal{

    private final String breed;

    public Dog(String name, int age, String breed) {
        super(name, age);//怎么理解super
        this.breed=breed;
    }
    public  void makeSound(){
        System.out.println(name+"bak");

    }
public void guard(){
    System.out.println(name+"baking...");
    }
}
java 复制代码
public class Cat extends Animal{
    private int lives=9;
    public Cat(String name, int age) {
        super(name, age);
    }

    @Override
    public void makeSound() {
       // super.makeSound();
        System.out.println(name+"miaomiaomiao");
    }
    public void climbTree(){
        System.out.println(name+"climbing");
    }
    public int getLives(){
        return lives;
    }
}

抽象类有点忘了

传参问题

java 复制代码
import java.lang.reflect.InvocationTargetException;

public class Test {
    public static void main(String[] args) {
        ObjectToStringConverter converter = new ObjectToStringConverter();//对象
        Student student = new Student("ZHANG", 20);
        School school = new School("89");
        Game game = new Game("lOL");
        System.out.println("Test objectToString方法");
        try {
            String studentStr = converter.objectToString(student);//传参,这个比较高级 student为啥可以这样传
            String schoolStr = converter.objectToString(school);
            String gameStr = converter.objectToString(game);
            String nullStr = converter.objectToString(null);
            System.out.println();
        } catch (NoSuchFieldException e) {
            throw new RuntimeException(e);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (InvocationTargetException e) {
            throw new RuntimeException(e);
        } catch (NoSuchMethodException e) {
            throw new RuntimeException(e);
        } catch (InstantiationException e) {
            throw new RuntimeException(e);
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        }
        try {
            String studentName = converter.getObjectNameField(student);
            String schoolName = converter.getObjectNameField(school);
            String gameName = converter.getObjectNameField(game);
            String nullName = converter.getObjectNameField(null);
            System.out.println("STUDEN's name=" + studentName);
            System.out.println("SCHOOL'S name=" + schoolName);
            System.out.println("GAME'S name=" + gameName);
            System.out.println("NULL'S name=" + nullName);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
        try {
            Object obj = new Object();
            String result = converter.getObjectNameField(obj);
            System.out.println("Object的name:" + result);
        } catch (Exception e) {
            System.out.println("错误:" + e.getMessage());
        }
    }
}
java 复制代码
// Student 是 Object 的子类
Student student = new Student("ZHANG", 20);

// 向上转型:子类对象可以自动转换为父类引用
Object obj = student;  // ✅ 完全合法,自动转换

// 所以可以直接传递给期望Object参数的方法
String studentStr = converter.objectToString(student);

为什么student类是object类的子类对对对变成 调用objectToString方法 //Object类是所有类的父类

//定义了ObjectToStringConver类的一个对象 所以可以使用objectToString方法,入参是Object

相关推荐
NineData6 小时前
NineData 迁移评估功能正式上线
数据库·dba
怒放吧德德9 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆11 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
火柴就是我11 小时前
让我们实现一个更好看的内部阴影按钮
android·flutter
NineData12 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
心之语歌13 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
赵渝强老师14 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
华仔啊14 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang15 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang16 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计