(java&c) 类与结构体

学过c语言然后学java,大家看到一个熟悉而又陌生的东西,java中的类与结构体,函数与方法十分相似,接下来进行简单的介绍和他们之间的区别。

结构体在c语言中可以存放多个数据类型,java中类存放对象的信息和方法 (与c语言中函数类似)

以下是一段结构体代码

public struct Cat
{
  string name;
  int age;
  public  cat{
    System.out.println("有小喵");
  }
}

以下是一段java中类的代码

public class Cat
{
  string name;;
  int age;   
}

struct  Cat cat;/ *声明一个cat,类型为Cat*/​

Cat cat=new Cat();/*声明一个cat,类型为Cat*/

相同处

1.结构体和类都可以实现对于数据的封装,比如将一辆车定义为由多个部分组成;比如:一个人,他的姓名,他的身高,他的体重等;​

2.结构体和类都是可以嵌套的,反复使用;

3.在编写代码上要进行声明与定义;

不同之处

1. C中的结构体只是多种不同类型数据的集合,java中的类就是面向对象中的类,C语言中是没有类的概念的,但是C语言可以通过结构体内创建函数指针实现面向对象思想。

2. 结构体是实值类型,而类则是引用类型.

3. 结构体中的成员变量都是可以直接访问的,而类则可以通过声明public、protected、private进行访问权限的控制。类是可以继承的,子类可以通过继承获得父类的一些属性或者方法,这是结构体所不具有的。

以下是克隆代码:

class p {
    String name;
    int age;
  }

  class MyTools{

    pubilc Person copyPerson(Person p){
      Person p2=new Person();
      p2.name=p.name;
      p2.age=p.age;
    }
  }

4.结构体是封装数据用的,是自定义的一种变量类型;而java作为一种面向对象语言,将所有东西都封装在类中,包括程序执行入口的方法 (这与c语言结构体有很大不同) 。

5.java中类中方法跟c语言函数一样有返回值,实参与形参;

ublic class Test {
  public static void main(String[] args){

  AA a=new AA();
  a.test(4);
  }
}

class AA{
  public void test(int n){
  if(n>2){
    test(n-1);
  }
  System.out.println("n=" + n);
  }
}
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值