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

相关推荐
主角1 7几秒前
NoSQL之Redia配置与优化
数据库·nosql
2402_854808371 分钟前
MySQL高负载下查询中断怎么解决_增加系统内存与调整参数
jvm·数据库·python
我命由我123451 分钟前
Android 开发问题:SharedPreferences 的 getString 方法返回值类型 Type mismatch 问题
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
2401_887724503 分钟前
Go语言GORM怎么做分页_Go语言GORM分页查询教程【实用】
jvm·数据库·python
星星也在雾里3 分钟前
MySQL 数据迁移到 PostgreSQL 实战教程
数据库·mysql·postgresql
geovindu7 分钟前
密码进行加盐哈希 using CSharp,Python,Go,Java
java·python·golang·c#·哈希算法
lulu12165440788 分钟前
Claude Opus 4.7有哪些重大升级?软件工程和视觉能力全面解析
java·人工智能·python·软件工程·ai编程
m0_640309308 分钟前
SQL在分组聚合时如何减少内存消耗_优化GROUP BY查询计划
jvm·数据库·python
gjc5928 分钟前
直击MySQL致命坑!GROUP_CONCAT默认截断不报错
android·数据库·mysql
Wyz2012102410 分钟前
怎么在MongoDB中实现动态轮换证书(Certificate Rotation)而不停机
jvm·数据库·python