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

相关推荐
辻弋20136 分钟前
一键优化电源计划、游戏模式、独显强制、禁用后台录制——DeltaForceBooster专治三角洲行动卡顿掉帧,所有改动可一键还原
服务器·数据库·windows·游戏·电脑·php
QQ_216962909637 分钟前
【项目编号:project95315】SpringBoot公共自习室管理系统:座位预约、房间管理、签到核销、公告规则完整实战
java·spring boot·后端
xcLeigh43 分钟前
Go入门:基本数据类型全览与选择指南
android·服务器·golang·教程·go热门
alexhilton1 小时前
规范驱动开发:让AI生成符合预期的KMP代码
android·kotlin·android jetpack
嵌入式阿蔡1 小时前
面试高频考点 01:volatile / 中断 / 堆栈 八股精讲
java·面试·职场和发展·嵌入式实时数据库
码农coding1 小时前
android12 ActivityManagerService开机启动分析
android
秋饼1 小时前
LangChain4j + Java 实现企业级 Text-to-SQL 智能问数系统:从自然语言到安全可控的数据洞察
java·ai·技术分享·后端开发
Wang's Blog1 小时前
PostgreSQL笔记51: 基于 pgvector 构建企业级智能问答系统
数据库·笔记·postgresql
Escalating_xu1 小时前
【C++ STL简介】从六大组件到容器、迭代器与算法协作
java·c++·算法
何以解忧,唯有..2 小时前
Python os模块详解:文件与目录操作指南
java·服务器·python