第一阶段第十二天(面向对象 对象方法调用)

2、熟悉类的结构体,类变量和成员变量区别
结构体:
 *    修饰符  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






      
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值