欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java基础,没事常看看(一)类、对象、引用

发布时间:2025/4/16 编程问答 25 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java基础,没事常看看(一)类、对象、引用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
  • 什么是对象,什么是类?
    类:是一个抽象的概念,表示的是一类事物所拥有的共性(属性、方法)。
    对象:是类的具体(实例),对象不仅拥有类的属性和方法(private除外),还有自己专属的属性与方法。
  • 比如:人是一个类,
    那么对象就可以有男人,女人,学生,老板等等。
    这里类是女朋友

    package javaBasis1;//听说你缺女票,new一个吧 public class girlfriend{//这三个是成员变量int age;//年龄属性 int height; //身高属性int weight;//体重属性public girlfriend(String name) {name="翠花";System.out.println("名字什么的才不可能是"+name+"呢");}//女生的化妆行为public void make_up() {//这个是局部变量int time;//化妆时间???System.out.println("没人能碰我的妆,哪怕是我自己!");}public void showgirlfriend(int age,int height,int weight) {System.out.println("My girlfriend:");System.out.println("年龄:"+age);System.out.println("身高:"+height);System.out.println("体重:"+weight);}public static void main(String[] args) {girlfriend one=new girlfriend(null);//‘=’的左边叫做声明对象,右边叫做实例化对象//当对象被实例化后,会调用构造函数初始化对象。(null)表示调用自定义的那个构造函数。one.age=18;one.height=166;one.weight=99;one.showgirlfriend(one.age, one.height, one.weight);} }

    执行结果:

    名字什么的才不可能是翠花呢 My girlfriend: 年龄:18 身高:166 体重:99

    一个类可以包含成员变量、类变量和局部变量:
    成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
    类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
    局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

    每个类都有构造方法,如果你自己没有写构造方法的话,java编译器会为该类提供一个默认的构造方法。构造方法与类同名,自己写的可以包含参数,默认的构造方法是无参的。

  • 什么是对象的引用?
    以1中的程序为列

    girlfriend one=new girlfriend(null);这里面new girlfriend表示以girlfriend为模板,在堆空间中创建一个girlfriend类。
    而girlfriend one表示声明一个girlfriend类型的引用对象one,这里的‘=’的意思就是使对象引用one指向创建(new的)的对象girlfriend。

  • 对对象和引用的总结:

    • 一个对象引用可以指向0个或者1个对象
      即girlfriend one=new girlfriend(null);(指向一个对象)
      girlfriend two;(指向0个对象)
    • 一个对象可以被多个对象引用指向
      即girlfriend one=new girlfriend(null);
      girlfriend two=one;
      girlfriend three=one;
    • Java对象和引用的关系可以说是互相关联,却又彼此独立。彼此独立主要表现在:引用是可以改变的,它可以指向别的对象。
    • 从存储空间上来说,对象和引用也是独立的,它们存储在不同的地方,对象一般存储在堆中,而引用存储在速度更快的堆栈中。
    • 参数传递。Java只有一种参数传递方式:那就是按值传递,即Java中传递任何东西都是传值。如果传入方法的是基本类型的东西,你就得到此基本类型的一份拷贝。如果是传递引用,就得到引用的拷贝。
      例如:
    package javaBasis1;public class 引用demo {//传递引用public void demo1(StringBuffer s) {s.append(" world");}public void demo2(StringBuffer s) {s=new StringBuffer(" agin");}//传递基本类型public void demo3(int num) {num=100;}public static void main(String[] args) {引用demo demo=new 引用demo();StringBuffer s=new StringBuffer("hello");demo.demo1(s);System.out.println(s);demo.demo2(s);System.out.println(s);//基本类型demoint num=1;demo.demo3(num);System.out.println(num);}}

    运行结果:

    hello world hello world 1

    总结

    以上是生活随笔为你收集整理的java基础,没事常看看(一)类、对象、引用的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。