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

相关推荐
Rsun0455111 分钟前
Redis中实现访问量计数
数据库·redis·缓存
competes17 分钟前
学生需求 交易累计积分,积分兑换奖品
java·大数据·开发语言·人工智能·java-ee
小羊子说17 分钟前
Android系统中 socketpair 的源码解读与应用分析小结
android·java
splage25 分钟前
Java进阶——IO 流
java·开发语言·python
天空属于哈夫克327 分钟前
自动化素材中枢:实现云端文件与外部群消息的异步同步方案
数据库·oracle
Navicat中国1 小时前
Navicat Premium Lite 正式登录鸿蒙应用市场
数据库·华为·harmonyos·navicat
Yvonne爱编码1 小时前
数据库---Day 1 数据库基础
数据库·mysql·oracle
always_TT1 小时前
从Python_Java转学C语言需要注意什么?
java·c语言·python
Ricky_Theseus1 小时前
数据库关系代数 - 连接操作
linux·数据库·算法