java入门笔记3

java入门笔记3,第1张

java入门笔记3

面向对象编程中,类对应表的结构(表的field)。

通过上图,可以看到,雇员类和雇员表的结构完全一样,只不过,雇员类增加了数据的类型而已。

1.表结构对应:类结构

2.一行数据对应:一个对象

3.表中所有数据对应:这个类的所有对象

类的定义

类:class 对象:Object,instance(实例)。

类可以看成一类对象的模板,对象可以看出该类的一个具体实例。类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。 类的定义方式

这是一个空类,没有任何实际意义。

对于一个类来说,一般有三种常见成员:属性 field、方法 method、构造器 constructor。

属性(成员变量):用于定义该类或该类对象包含的数据或者静态特征。作用范围:整个类体。在定义成员变量时,如果不对其进行初始化,Java使用默认的值对其初始化。

成员变量的默认值:

方法:用于定义该类或该类实例的行为特征和功能实现。//面向过程中,整个程序的基本单位是类。

方法定义格式:

[修饰符]  方法返回值类型 方法名(形参列表){

//n条语句

}

编写一个简单的学生类:

package com.bjsxttest2;

public class Student {
    //属性
    int id;
    String  name;
    int age;
    //方法
    void study(){
        System.out.println("Studying");
    }
    //构造方法(方法名和类名保持一致)
    Student() {
    }
    public static void main(String[] args) {
        Student s1=new Student();
        System.out.println(s1.id);
        System.out.println(s1.name);
        s1.id=1001;
        s1.name="java";
        s1.study();
        System.out.println(s1.id);
        System.out.println(s1.name);
    }
}

输出结果为:

 

两次的id和name输出结果不同:第一次未初始化所以输出默认值,第二次初始化。

简单学生类的内存分析:

 构造器:用于对象的初始化。Java通过new关键字来调用构造器,从而返回该类的实例。

4个要点:

1.构造器通过new关键字调用!!

2.构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值。

3.如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已定义则编译器不会自动添加。

4.构造器的方法名和类名一定要一致。

例题:定义一个“点”(point)类用来表示二维空间中的点(有两个坐标)。要求如下:

可以生成具有特定坐标的“点”对象。提供可以设置坐标的方法。提供可以计算该“点”距另外一点的方法。

代码如下:

package com.bjsxttest2;

class Point{
    double a,b;
    public Point(double x,double y){
        a=x;
        b=y;
    }
    public double getDistance(Point p){
        return Math.sqrt((a-p.a)*(a-p.a)+(b-p.b)*(b-p.b ));
    }
}
public class Student2 {
    public static void main(String[] args) {
        Point p=new Point(3,4);
        Point origin=new Point(0,0);
        System.out.println(p.getDistance(origin));
    }
}

 该题的内存分析:

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5715973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存