Java对象入门

为什么类是抽象的?

整数是抽象的,3是具体的

例如

int(integer) 抽象的--对应的包装类 n=3 这个是具体的

按照等号右边的具体的 左边的是抽象的 小的推大的

对象一定占用空间(堆内存)----得new开放空间权限

Java 的类就是class ,也就是分类的意思,也就类型的意思

也就Javac 将源程序编译成字节码文件(*class)

按照MySQL 来说表头就是类 就是抽象的 后面的数据就是对象

类是用来描述所有的对象的属性()

属性 成员变量 属性是成员变量的表达

是一个名词 比如姓名 身高 身体 身份证

成员变量 局部变量(类中方法之外)

局部变量只能在方法中使用 (在方法之内)

成员变量只能在全局使用 同一个类种公用

publc class Dog{ prive String name;//成员变量(类里面方法之外 可以全局使用) public void setName(String xm){//局部变量-参数变量 int x=3;//局部变量(方法之内 ,只能方法使用) name =xm; } pulic void doX(){ x=32; name = "xLU"; } }

成员变量一般是名词(属性)变量要小写 类要大写

成员方法

package cn.tom.day93;public class DemoStudent { public static void main(String[] args) { Student t1=new Student();//与类同名 Java默认提供一个无参数构造方法,写了就没有 ,所以有参数之后要加回无参 //没有赋予名字也是具体的 // 左边是类型 抽象的 右边具体的对象 t1.name="张三"; t1.height=180; t1.weight=120; } }

package cn.tom.day93;public class Student { //成员变量 public String name; public int height; public int weight; public void play(){ System.out.println(name+"打篮球"); } public void study(){ System.out.println(name+"在学习"); } }

利用有参构造方法 使用了有参构造就得添加一个无参数构造方法

重点:this是指向当前正在创建和正在使用的对象

(作业思路)

运行到那个就指向那个

?? this + 要的对象?

老师笔记

有道云笔记

能传对象传对象

package cn.tom.day93;public class Student { //成员变量 public String name; public int height; public int weight; public Student(){} public Student(String name ,int height,int weight){ this.name=name;//指代当前正在创建的对象 this.height=height; this.weight=weight; } public void play(){ System.out.println(name+"打篮球"); } public void study(){ System.out.println(name+"在学习"); } public void fit(Student s1){ //this指代当前对象也就直接在fit前面输入一个对象 // 是用fit 方法里面再添加另外一个对象 System.out.println(this.name + "单挑类" +s1.name); } }

package cn.tom.day93;public class DemoStudent { public static void main(String[] args) { // Student t1=new Student(); //与类同名 Java默认提供一个无参数构造方法,写了就没有 ,所以有参数之后要加回无参// //没有赋予名字也是具体的// // 左边是类型 抽象的 右边具体的对象 // t1.name="张三"; // t1.height=180; // t1.weight=120; //创建一个叫t0的学生 给他添加姓名 身高 体重 Student t0 =new Student("张三",160,150); System.out.println(t0); Student t2 =new Student("李四",150,110); System.out.println(t2); //t1和t2正在单挑 //方法的是用当前对象加另外一个个对象 //能好惨对象先传对象 t2.fit(t0); } }

成员变量私有声明 手搓get set

构造方法

初始化成员变量(int0 double 0.0 String null 对象 null)

计算该对象所需要堆内存的大小

注意:Java虚拟机会帮助开发者默认的创建一个构造方法

-----写了有参数加一个无参构造

0

0

0

static 类方法 加了这个修饰

无需创建对象直接用

0

一般写在测试类里面,类名.方法名 静态方法

0

0

数组就是单独的普通变量-----是连续的可以循环

(晚上作业思路)

整个数组名称当成元素去传,要把元素当成一个数组使用

调用方法 参数传递-值传递/引用传递

值传递:调用某个方法结束后不会影响使用者的初始值。(8大基本数据类型+String)

引用传递:调用某个方法之后会影响某个初始值(对象类型,数组),new出来的(出来String)

代码演示:

package cn.tom.day94;import cn.tom.day93.Stox;public class DemoCaller { public static void main(String[] args) { //为什么String 里面有final 修饰 最终 不改变 //8大基本数据类型,和String都是值传递 int n=100; double d=100; String s="123"; //100 100 123不改变 System.out.println("n="+n+" d="+d+" s="+s); //只要是new 出来的除String都是引用传递 -----地址传递 int[] a={1,2,3}; test2(a); for (int i=0;i<a.length;i++) System.out.println(a[i]); //引用传递以数组为例 Stox stox=new Stox(); stox.setName("tmp"); test3(stox); System.out.println(stox.getName()); } private static void test3(Stox stox) { stox.setName("张三"); } private static void test2(int[] a) { for (int i=0;i<a.length;i++){ a[i]=a[i]*10; } } public static void test1(int n,double d,String s){ n=101;d=101.1;s="79789"; } }

引用传递实现学生随机产生名字示例

0

引用传递可以返回多个内容

老师链接

有道云笔记

“”变量类型(对象:Dog )String 之类 ”决定了是内存地址 还是整数(int double short long byte char boolen )

对象变量没有指向任何对象则为: 空指针错误

0

C语言运行更快 JAVA开发运用型软件--企业开发

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值