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

相关推荐
嫂子的姐夫2 小时前
23-MD5+DES+Webpack:考试宝
java·爬虫·python·webpack·node.js·逆向
缪懿2 小时前
JavaEE:多线程基础,多线程的创建和用法
java·开发语言·学习·java-ee
Chan162 小时前
Java 集合面试核心:ArrayList/LinkedList 底层数据结构,HashMap扩容机制详解
java·数据结构·spring boot·面试·intellij-idea
Boop_wu2 小时前
[Java EE] 多线程 -- 初阶(2)
java·开发语言·jvm
q***98522 小时前
Spring Boot(快速上手)
java·spring boot·后端
倔强的石头_2 小时前
openGauss实战:Python开发与AI向量数据库应用
数据库
凌凌02 小时前
macOS安装SDKMAN
java
百***92022 小时前
Spring Boot 多数据源解决方案:dynamic-datasource-spring-boot-starter 的奥秘(上)
java·spring boot·后端
青山的青衫2 小时前
【Java基础07】链表
java·开发语言·链表