成都创新互联网站制作重庆分公司

关键字和封装-创新互联

  1. 整理java中学习到的所有关键字,详细说明其作用和用法.

package:包。对类进行管理。

成都创新互联是一家专业提供宝山企业网站建设,专注与成都做网站、成都网站制作、成都外贸网站建设H5建站、小程序制作等业务。10年已为宝山众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

import:导包。为了使用包中的成员。

class: 声明一个类。

public :公共权限。用来修饰类、属性、方法。可以被任意类访问 。

protected:受保护的权限。用来修饰属性、方法。 可以被同包类访问,如果不是同包类,必须是该类的子类才可以访问。

default:默认权限。用来修饰类属性方法。可以被同包类访问。

private:私有权限。修饰属性、方法。 只能在本类中访问。

static:静态。用来修饰属性、方法、代码块、内部类。随着类的加载而加载、优先于对象存在、修饰的成员,被所有对象所共享、可不创建对象,直接被类调用。使用时在属性、方法、代码块、内部类前加static。

void:当方法不想返回任何东西时使用void。

整数型:int long short byte

浮点型:float double

字符型:char

布尔型:boolean

new:实例化。创建一个新对象。

this:代表当前对象,使用this引用成员方法和成员变量

控制流程的关键字

条件语句if{ }else{}

循环语句while(){   },do{}while(),for(  ;   ;  ){}

switch语句switch(){case 1:  break;case 2:  continue;}

break:用来终止某个语句块的执行。

continue:用来终止某次循环过程。

return:结束方法,返回方法指定类型的值。

2.静态成员变量与非静态成员变量的区别.   

答:静态成员变量: 在数据类型前面多了一个static修饰在内存中只有一个,直接通过类名使用,在类加载的时候,类加载完成,就分配完空间;直到类被卸载时空间被回收

非静态成员变量: 没有static修饰,必须通过对象使用,创建对象的时候分配空间; 对象变为垃圾空间被回收的时候被销毁

3.下面程序运行输出的结果顺序是?

public class Test {

Person person = new Person("Test");

int age;

static{

System.out.println("test static");

}                             

{   

System.out.println(“test”);

}

public Test() {

System.out.println("test constructor");

}

public static void main(String[] args) {

new Test();

}

}

class Person{

static{

System.out.println("person static");

}

public Person(String str) {

System.out.println("person "+str);

}

}

运行结果:

test static

person static

person Test

test

test constructor

4封装是一个保护屏障,保护类的代码和数据不被外部类定义的代码随机访问。如果要访问该类的代码和数据,要通过严格的接口控制。可以让程式码更容易理解与维护,增强了安全性。

  1. 设计一个学生信息管理系统,有添加学生,查询学生,删除学生等功能.
    要求:1.设计一个类学生类,学生属性有学号,姓名,性别(属性私有权限)
    1.启动程序后输出一个菜单让用户选择操作:1.添加学生,2-删除学生,3.查询学
    生,4-退出
    2.选择添加学生在控制台依次输入学号,姓名,性别等信息,将学生信息存储
    到一个数组中,数组容量定位30.
    3.删除删除时,必须输入学号,如果学号对应的学生存在,删除该学生信息
    4.点击查询时,必须输入学号,如果学号对应的学生存在,输出学生信息即可

import java.util.ArrayList;
import java.util.Scanner;

public class Dome {
public static void main(String[] args) {
Student s1 = new Student(1, "赵一", "男");
Student s2 = new Student(2, "钱二", "女");
Student s3 = new Student(3, "孙三", "男");

ArrayListstudentArrayList = new ArrayList<>();

studentArrayList.add(s1);
studentArrayList.add(s2);
studentArrayList.add(s3);

Scanner sc = new Scanner(System.in);
out: do {
 System.out.println("输入想进行的操作");
 System.out.println("1.添加学生");
 System.out.println("2.删除学生");
 System.out.println("3.查询学生");
 System.out.println("4.退出");
 int n = sc.nextInt();
 switch (n) {
     case 1:
         System.out.println("请问你要输入几位学生信息");
         int m = sc.nextInt();
         for (int i = 0; i< m; i++) {
             System.out.println("请输入依次学号,姓名,性别");
             int id=sc.nextInt();
             String name= sc.next();
             String sex = sc.next();
             Student student = new Student(id,name,sex);
             studentArrayList.add(student);
         }break;
     case 2:
         System.out.println("请输入要删除学生的学号");
         int ID = sc.nextInt();
         for (int i = 0; i< studentArrayList.size(); i++) {
             if (ID==studentArrayList.get(i).getStuID()) {
                 studentArrayList.remove(i);
                 System.out.println("操作成功");
             }
         }break;
     case 3:
         System.out.println("请输入你要查询的学生学号");
         int s= sc.nextInt();
         for (int i = 0; i< studentArrayList.size(); i++) {
             if (s==studentArrayList.get(i).getStuID()) {
                 System.out.println(studentArrayList.get(i));
                 System.out.println("操作成功");
             }
         }break;
     case 4:break out;
 }
}while (true);
}
}

public class Student {
private int stuID;
private String stuName;
private String stuSex;

public Student() {
}

public Student(int stuID, String stuName, String stuSex) {
this.stuID = stuID;
this.stuName = stuName;
this.stuSex = stuSex;
}

@Override
public String toString() {
return "Student{" +
     "stuID=" + stuID +
     ", stuName='" + stuName + '\'' +
     ", stuSex='" + stuSex + '\'' +
     '}';
}

public int getStuID() {
return stuID;
}

public void setStuID(int stuID) {
this.stuID = stuID;
}

public String getStuName() {
return stuName;
}

public void setStuName(String stuName) {
this.stuName = stuName;
}

public String getStuSex() {
return stuSex;
}

public void setStuSex(String stuSex) {
this.stuSex = stuSex;
}
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:关键字和封装-创新互联
本文链接:http://cxhlcq.com/article/dojcdi.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部