博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
上机实验2.。实验报告
阅读量:4493 次
发布时间:2019-06-08

本文共 3780 字,大约阅读时间需要 12 分钟。

 

 

石家庄铁道大学信息科学与技术学院

 

 

 

 

 

 

 

2017----2018  学期

 

 

 

 

 

 

 

   业:     网络工程         

课程名称:     Java语言        

   级:     1603               

   名: 梁秋实   学号: 20163592    

指导教师:    王建民              

 

 

 

实验二:类与对象

[实验任务一]:静态变量(验证型实验)。

预测:静态变量x=0

      静态变量a.x=3

静态变量a.y=2

静态变量b.x=3

静态变量b.y=4

结果

 

 

原因分析:

第一行:x没被初始化,又是静态全局,自动初始化为0

第二、四行:由于x是全局静态变量,而且最近一次x被b.set赋值为3,所以a中的x继承b,为3,同理第四行

第三、五行:实例变量不会继承,被赋值为多少就是多少

System.out.println("实例变量 y="+StaticDemo.getY());一行出错,因为gety函数不是静态的

总结:静态变量和实例变量使用的区别。

A:调用方式

静态变量也称为类变量,可以直接通过类名调用。也可以通过对象名调用。
这个变量属于类。
成员变量也称为实例变量,只能通过对象名调用。这个变量属于对象。
B:存储位置
静态变量存储在方法区长中的静态区。
成员变量存储在堆内存。
C:生命周期
静态变量随着类的加载而存在,随着类的消失而消失。生命周期长。
成员变量随着对象的创建而存在,随着对象的消失而消失。
D:与对象的相关性
静态变量是所有对象共享的数据。
成员变量是每个对象所特有的数据

[实验任务二]:构造方法(验证型)

代码1:

sideA=a;

sideB=b;

sideC=c;

代码2:a+b>c&&a+c>b&&b+c>a

代码3:boo=true;

代码4:boo=false;

代码5:

length=sideA+sideB+sideC;

return length;

代码6:

sideA=a;

sideB=b;

sideC=c;

代码7:a+b>c&&a+c>b&&b+c>a

代码8:boo=true;

代码9:boo=false;

代码10:

a=above;

b=bottom;

h=height;

代码11:

area=(above+bottom)*height/2;

return area;

代码12:radius=r;

代码13:

area=radius*radius*3.14;

return radius;

代码14:

double length=6.28*radius;

return length;

代码15:Circle circle=null;

代码16:Trangle trangle;

代码17:Lader lader;

代码18:

Circle C=new Circle(0);

length=C.getLength();

代码19:area=C.getArea();

代码20:

Trangle T=new Trangle(0, 0, 0);

length=T.getLength();

代码21:area=T.getArea();

代码22:

Lader L=new Lader(0, 0, 0);

area=L.getArea();

代码23:T.setABC(12,34,1);

代码24:area=T.getArea();

代码25:length=T.getLength();

 

[实验任务三]:验证是否为闰年(设计型)。

程序设计思想:

定义Exercise2010类,接受年份,判断年份是否是闰年

定义TestExercise0210类,给与年份,输出结果

流程图

package 闰年;

import java.util.Scanner;

class Exercise2010 {

int year;

public void set(int y) {

year=y;

}

 

public boolean isLeap() {

 if((year%4==0&&year%100!=0)||(year%400==0))

 return true;

 else 

 return false;

}

 

}

public class TestExercise0210{

public static void main(String args[]) {

int n;

System.out.println("输入年份:");

Scanner input=new Scanner(System.in);

n=input.nextInt();

input.close();

Exercise2010 Exercise2010=new Exercise2010();

Exercise2010.set(n);

if(Exercise2010.isLeap()==true)

System.out.println("是闰年");

else if(Exercise2010.isLeap()==false)

System.out.println("不是闰年");

else

System.out.println("没有");

}

}

结果

编译错误:无

[实验任务四]:Stduent类设计(设计型)。

源代码

import java.util.Scanner;

 

class student {

String name;

int age;

boolean sex;

double score;

void set(String N,int A,double S2,boolean S)

{

name=N;age=A;sex=S;score=S2;

}

void show() {

System.out.println("名字:"+name);

System.out.println("年龄:"+age);

if(sex==true)

System.out.println("性别:女");

if(sex==false)

System.out.println("性别:男");

System.out.println("分数:"+score);

}

public static void main(String args[]) {

String name ,sex2, M="",W="";

int age;

boolean sex = false;

double score;

System.out.println("输入姓名,年龄,分数,性别");

Scanner input=new Scanner(System.in);

name=input.next();

age=input.nextInt();

score=input.nextInt();

sex2=input.next();

if(sex2.equals(M))

sex=false;

else if(sex2.equals(W))

sex=true;

else 

{

System.out.println("性别输入错误");

}

input.close();

student student=new student();

student.set(name, age, score, sex);

student.show();

}

}

截图

编译无错误

 

:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法); 

对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。

属性:类中的变量

封装:类中一个方法可以看成一个封装

抽象数据类型:简单来讲就是 数据元素(不仅限于一般的数据元素)+对其的操作(不太严谨但有助于理解)

抽象数据类型是描述数据结构的一种理论工具。在介绍抽象数据类型之前我们先介绍一下数据类型的基本概念。

成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。

类变量:静态域,静态字段,或叫静态变量,它属于该类所有实例共有的属性。而且所有的实例都可以修改这个类变量的值(这个类变量没有被final修饰的情况),而且访问类变量的时候不用实例,直接用类名.的方式就可以。

成员方法:包括实例方法和类方法,用static的方法就是类方法,不用static修饰的就是实例方法。实例方法必须在创建实例之后才可以调用。

类方法:和类变量一样,可以不用实例,直接用类就可以调用类方法。

例:class Demo{ 

    int x;       //x是实例变量,也是成员变量 

    static int y; //y为类变量,也是成员变量     

    public int x() {     //该方法为实例方法,是成员方法 

        return x;   

    } 

   public static void setX(int x1){ //该方法为类方法,也是成员方法 

            x = x1;    

   } 

}

 

class 类名称

{

属性 (变量) ;

行为 (方法) ;

}

其中变量是对象

例如学生类,分数姓名(类)都是他的内在属性

方法可以封装

 

转载于:https://www.cnblogs.com/lqs244/p/7711315.html

你可能感兴趣的文章
运维之扩容与升级
查看>>
如何理解JAVA的跨平台特性
查看>>
V2EX iOS客户端应用源码
查看>>
ASP.NET 页面异步任务
查看>>
(13) openssl ca(签署和自建CA)
查看>>
编译安装git
查看>>
《Linux内核分析》 第三节 构造一个简单的Linux系统MenuOS
查看>>
RPC是什么?
查看>>
CLR via C#:CLR的执行模型
查看>>
JS获取服务器时间
查看>>
如何对数据排序和拆分文件
查看>>
数据解析01-15
查看>>
linux 安装mysql数据库——yum安装法
查看>>
Several ports (8005, 80, 8009) required by Tomcat v6.0 Server at localhost are already in use
查看>>
事件监听器
查看>>
设计模式之单例设计模式
查看>>
异常的基本概念
查看>>
vue 在发送axios请求时数据渲染问题
查看>>
动态链接库dll
查看>>
2018 Multi-University Training Contest 3 - HDU Contest
查看>>