对象

类--用来描述一组具有相同性质或者特征的复合数据类型

类中可以包含变量和方法

类中的变量或者方法是什么被使用的?

通过对象来调用类里面的变量和方法来使用

1.对象

       1.对象是由我们自己定义的类来创建出来的。

       2.对象实际上就是类的具体实现。

       例如:修建大楼时绘制的设计图纸就是类,根据设计图纸修建起来的真实的可以住人的大楼就是对象。

       类--抽象【抽取象什么一样的东西】--模板【设计图】

       对象--实现--实例【楼房】

       3.没有类就没有对象

       4.一个类可以创建出多个对象

       5.类是对象的模板,对象是类的真实表现

2.对象的作用?

       调用类中的变量和方法

3.如何创建对象?[new]

       1.当前类中--new+构造方法---this

       2.其他类中--new+构造方法

       格式  :  new  构造方法( [参数值] );

public class Person {

      

       //无参数构造方法

       public Person(){

              System.out.println("无参数构造方法");

       }

       //有参数构造方法

       public Person(String  name){

              System.out.println("有参数构造方法");

       }

      

       //实例变量

       public  String  test1;

       //静态变量

       public static String  dox1;

测试

public class TestMain1 {

       public static void main(String[] args) {

              /*

              //格式  :  new  构造方法( [参数值] );

              //创建Person类对象

              //new Person();

              //往往我们创建出来的对象需要当前类的数据类型对应的变量来保存这个对象

              //int  num1=100;  //int数据类型  num1变量名称  100数据值

              Person per1=new Person(); //Person数据类型  per1变量名称  new Person();数据值

              Person per2=new Person("zhangsan");

4.对象访问变量

1.局部变量在其他类中不能访问

2.实例变量只能对象访问

3.静态变量类名访问,也可以对象访问

4.实例变量在同一个类的多个对象之间不能数据共享

静态变量在同一个类的多个对象之间能数据共享

// 1.局部变量在其他类中年不能访问。

// 2.实例变量只能对象访问

              per1.test1="zhangsan";

              System.out.println("实例变量=="+per1.test1);

              String str1=per1.test1;

              System.out.println("实例变量==str1=="+str1);

           // 3.静态变量类名访问,可以对象访问

              Person.dox1="lisi";

              per2.dox1="wangu";

              System.out.println("静态变量=="+Person.dox1);

              System.out.println("静态变量=="+per2.dox1);

              String name1=Person.dox1;

              String name2=per2.dox1;

              System.out.println("静态变量==name1=="+name1);

              System.out.println("静态变量==name2=="+name1);

//实例变量在同一个类的多个对象之间不能数据共享

              Person per1=new Person();

              Person per2=new Person();

              per1.test1="zhangsan";

              per2.test1="lisi";

              System.out.println("per1.test1=="+per1.test1);

              System.out.println("per2.test1=="+per2.test1);

              per1.test1="zhangsansan";

              per2.test1="lisisi";

              System.out.println("per1.test1=="+per1.test1);

              System.out.println("per2.test1=="+per2.test1);

              */

             

              Person per1=new Person();

              Person per2=new Person();

              per1.dox1="zhangsan";

              per2.dox1="lisi";

              System.out.println("per1.dox1=="+per1.dox1);

              System.out.println("per2.dox1=="+per2.dox1);

              per1.dox1="zhangsansan";

              per2.dox1="lisisi";

              System.out.println("per1.dox1=="+per1.dox1);

              System.out.println("per2.dox1=="+per2.dox1);

       }

}

5.对象访问方法

1.构造方法的访问—new

2.实例方法只能对象访问

3.静态方法类名访问,可以对象访问

4.有参数方法,需要传递参数【个数,类型】【要什么,给什么】

5.有返回值,方法体中的最后一句是return,返回数据值要与方法的返回值类型匹配,调用有返回值的方法需要定义变量来接收方法的返回值【给什么,收什么】

public class TestClass {

       //无参数构造方法

       public  TestClass(){

              System.out.println("无参数构造方法");

       }

       //有参数的构造方法

       public  TestClass(String name){

              System.out.println("有参数构造方法--参数name=="+name);

       }

       //实例方法

       public void  shuiliMethod(){

              System.out.println("实例方法方法");

       }

       //有参数的实例方法

       public void  shuiliMethod1(int id,String name){

              System.out.println("实例方法--参数id="+id+";参数name="+name);

       }

       //有返回值,方法体中的最后一句是return,返回的数据值要与方法的返回值类型匹配

       //有返回值的实例方法

       public String  shuiliMethod2(){

                     System.out.println("有返回值的实例方法");

                     return "zhangsan";

              }

      

       //有参数,有返回值的实例方法

       public String  shuiliMethod3(int id,String name){

                     System.out.println("有参数,有返回值的实例方法");

                     String  info="id="+id+",name="+name;

                     return info;

              }

       //静态方法

       public static void  staticMethod(){

              System.out.println("静态方法方法");

       }

       //有参数的静态方法

       public static void  staticMethod1(int id,String name,int age){

              System.out.println("静态方法--参数id="+id+";参数name="+name+";参数age="+age);

       }

       //有返回值,方法体中的最后一句是return,返回的数据值要与方法的返回值类型匹配

       //有返回值的静态方法

       public static int  staticMethod2(){

              System.out.println("有返回值的静态方法");

              return 1001;

       }

      

       //有参数,有返回值的静态方法

       public static int  staticMethod3(int id,String name,int age){

                     System.out.println("有参数,有返回值的静态方法");

                     int num=id+age;

                     return num;

                    

       }

}

6.对象的内存分配原理

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值