2、熟悉类的结构体,类变量和成员变量区别
结构体:
* 修饰符 class 类名{
* 属性:变量
* 局部变量:在方法中定义变量
* 全局变量:类变量
* 成员变量:非静态变量
* 方法:
* main方法:主方法 入口文件
*
* 普通方法:普通函数 功能独立的代码段
* 修饰符 返回值类型 方法名(参数列表){
*
* }
* 构造方法:实例化类对象
* 如果在类中不创建,系统会默认给我们创建一个不带参数的构造函数
* }
类变量:在类中定义,又称之为全局变量 ,static 修饰的变量信息
成员变量:在类中直接定义的变量信息,非静态变量
3、写一个学生类
有姓名 、年龄、性别属性
学习 打球 游泳方法
要求:
1、通过主函数调用相关属性和方法,并输出打印
2、创建三个对象,然后赋值调用
package day12;
/**
*
* 写一个学生类, 有姓名 、年龄、性别属性,学习 打球 游泳方法
* 要求:
* 1、通过主函数调用相关属性和方法,并输出打印
* 2、创建三个对象,然后赋值调用
*
*/
4、chap5中的第1题 (重载,实例变量)有以下代码:
class ClassA{
public void method(int value){
System.out.println(value);
}
public void method(){
System.out.println(value);
}
int value;
}
class TestClassA{
public static void main(String args[]){
ClassA classA = new ClassA();
classA.value = 10;
classA.method();
classA.method(20);
}
}
请选择正确结果:
A. 编译不通过
B. 输出10 10
C. 输出 10 20
D. 输出0 20
答: C
5.chap5中的第2题 (方法重载,函数返回值)有以下代码
class ClassA{
void method(){
System.out.println("method()");
}
int method(int i){ //加上return返回值或者把int改为void
System.out.println("method(int)");
}
public static void main(String args[]){
ClassA a = new ClassA();
a.method();
a.method(10);
}
}
该程序是否能编译通过?如果可以,写出该程序运行结果。如果不能,请说明理
由,以及如何修改。
答:编译不能通过,加上return返回值或者把int改为void,
输出结果为: method()
method(int)
6.chap5中的第3题 (构造方法)
关于构造方法,下列说法正确的是:
A. 每个类中都有至少一个构造方法
B. 一个类中可以有多个构造方法
C. 构造方法可以有返回值
D. 构造方法可以有多个参数
答:ABD
7.chap4中的第4题(引用)有以下代码
class MyClass{
int value;
}
public class TestRef{
public static void main(String args[]){
int a = 10;
int b = a;
b ++ ;
System.out.println(a);
MyClass mc1 = new MyClass();
mc1.value = 10;
MyClass mc2 = mc1;
mc2.value ++;
System.out.println(mc1.value);
}
}
请写出编译运行后的结果。
10
11
8.chap4中的第5题(引用)有以下代码
class ClassA{
int value = 10;
}
public class TestReturnRef{
public static void main(String args[]){
ClassA ca = new ClassA();
ca = getObject();
ca = getObject();
ca = getObject();
System.out.println(ca.value);
}
public static ClassA getObject(){
ClassA newObject = new ClassA();
newObject.value += 10;
return newObject;
}
}
编译运行TestReturnRef 程序,结果为:
A. 编译出错
B. 输出10
C. 输出20
D. 输出40
C
结构体:
* 修饰符 class 类名{
* 属性:变量
* 局部变量:在方法中定义变量
* 全局变量:类变量
* 成员变量:非静态变量
* 方法:
* main方法:主方法 入口文件
*
* 普通方法:普通函数 功能独立的代码段
* 修饰符 返回值类型 方法名(参数列表){
*
* }
* 构造方法:实例化类对象
* 如果在类中不创建,系统会默认给我们创建一个不带参数的构造函数
* }
类变量:在类中定义,又称之为全局变量 ,static 修饰的变量信息
成员变量:在类中直接定义的变量信息,非静态变量
3、写一个学生类
有姓名 、年龄、性别属性
学习 打球 游泳方法
要求:
1、通过主函数调用相关属性和方法,并输出打印
2、创建三个对象,然后赋值调用
package day12;
/**
*
* 写一个学生类, 有姓名 、年龄、性别属性,学习 打球 游泳方法
* 要求:
* 1、通过主函数调用相关属性和方法,并输出打印
* 2、创建三个对象,然后赋值调用
*
*/
public class Demo12_1 {
public static void main(String[] args) {
//姓名:张三 , 年龄:20,性别:男
Student stu=new Student();
stu.name="张三";
stu.age=20;
stu.sex="男";
//调用方法
stu.study();
stu.playball();
stu.swim();
//姓名:李四 年龄:23 性别:女
Student stu2=new Student();
stu2.name="李四";
stu2.age=23;
stu2.sex="女";
//调用方法
stu2.study();
stu2.playball();
stu2.swim();
//姓名:王五 年龄:25 性别:男
Student stu3=new Student();
stu3.name="李四";
stu3.age=23;
stu3.sex="女";
//调用方法
stu3.study();
stu3.playball();
stu3.swim();
}
}
/**
*
* 定义一个学生类
* 属性:姓名、年龄、性别
* 方法:学习、打球、游泳
*
*/
class Student{
//姓名
String name;
//年龄
int age;
//性别
String sex;
//学习方法
public void study(){
System.out.println(name+"好好学习!");
}
//打球方法
public void playball(){
System.out.println(name+"喜欢打球!");
}
//游泳方法
public void swim(){
System.out.println(name+"喜欢游泳!");
}
}
4、chap5中的第1题 (重载,实例变量)有以下代码:
class ClassA{
public void method(int value){
System.out.println(value);
}
public void method(){
System.out.println(value);
}
int value;
}
class TestClassA{
public static void main(String args[]){
ClassA classA = new ClassA();
classA.value = 10;
classA.method();
classA.method(20);
}
}
请选择正确结果:
A. 编译不通过
B. 输出10 10
C. 输出 10 20
D. 输出0 20
答: C
5.chap5中的第2题 (方法重载,函数返回值)有以下代码
class ClassA{
void method(){
System.out.println("method()");
}
int method(int i){ //加上return返回值或者把int改为void
System.out.println("method(int)");
}
public static void main(String args[]){
ClassA a = new ClassA();
a.method();
a.method(10);
}
}
该程序是否能编译通过?如果可以,写出该程序运行结果。如果不能,请说明理
由,以及如何修改。
答:编译不能通过,加上return返回值或者把int改为void,
输出结果为: method()
method(int)
6.chap5中的第3题 (构造方法)
关于构造方法,下列说法正确的是:
A. 每个类中都有至少一个构造方法
B. 一个类中可以有多个构造方法
C. 构造方法可以有返回值
D. 构造方法可以有多个参数
答:ABD
7.chap4中的第4题(引用)有以下代码
class MyClass{
int value;
}
public class TestRef{
public static void main(String args[]){
int a = 10;
int b = a;
b ++ ;
System.out.println(a);
MyClass mc1 = new MyClass();
mc1.value = 10;
MyClass mc2 = mc1;
mc2.value ++;
System.out.println(mc1.value);
}
}
请写出编译运行后的结果。
10
11
8.chap4中的第5题(引用)有以下代码
class ClassA{
int value = 10;
}
public class TestReturnRef{
public static void main(String args[]){
ClassA ca = new ClassA();
ca = getObject();
ca = getObject();
ca = getObject();
System.out.println(ca.value);
}
public static ClassA getObject(){
ClassA newObject = new ClassA();
newObject.value += 10;
return newObject;
}
}
编译运行TestReturnRef 程序,结果为:
A. 编译出错
B. 输出10
C. 输出20
D. 输出40
C