java上述代码会出错的位置有_第二章——Java面向对象(一)——类与对象

我是小康小白,一个平平无奇的Java,Python小白。热爱有趣的文字,生活和远方。

个人博客:https://blog.csdn.net/weixin_45791445

有问题欢迎QQ联系:1059320343 (记得备注CSDN)

个人微信公众号:小康小白

c6563396a0a64ccdad47dfe6339898e7.png

一,什么是类,如何创建类

题目:

63190084592df81067aa7bad459ee2da.png

afca7d6011e00ed6ee3f82b21ef0f3d5.png

题目代码:

package step1;

public class Test {

public static void main(String[] args) {

//创建Dog对象

//设置Dog对象的属性

//输出小狗的属性

System.out.println("名字:" + + ",毛色:" + + ",品种:" + );

//调用方法

}

}

//在这里定义Dog类

答案:

package step1;

public class Test {

public static void main(String[] args) {

//创建Dog对象

//设置Dog对象的属性

Dog wuhuarou = new Dog();

wuhuarou.name = "五花肉";

wuhuarou.color = "棕色";

wuhuarou.variety = "阿拉斯加";

//输出小狗的属性

System.out.println("名字:" + wuhuarou.name + ",毛色:" + wuhuarou.color + ",品种:" + wuhuarou.variety );

//调用方法

wuhuarou.eat();

wuhuarou.run();

}

}

//在这里定义Dog类

class Dog{

String name;

String color;

String variety;

void eat(){

System.out.println("啃骨头");

}

void run(){

System.out.println("叼着骨头跑");

}

}

二,构造方法:

题目:

a1a599428e700c981f7b1ebc94d4567b.png

题目代码:

package step2;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String name = sc.next();

String sex = sc.next();

//分别使用两种构造器来创建Person对象

}

}

//创建Person对象,并创建两种构造方法

答案:

package step2;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String name = sc.next();

String sex = sc.next();

//分别使用两种构造器来创建Person对象

Person person1 = new Person();

Person person2 = new Person(name,sex);

}

}

//创建Person对象,并创建两种构造方法

class Person {

public Person(){

System.out.println("一个人被创建了");

}

public Person(String name,String sex){

System.out.println("姓名:"+name+",性别:"+sex+",被创建了");

}

}

三,选择题

1、下列关于构造方法的说法不正确的是()

A、Java语言规定构造方法名必须与类名相同

B、Java语言规定构造方法没有返回值,且不用void关键字声明

C、构造方法不可以重载

D、构造方法只能用new关键字来创建

2、类Test定义如下:

public class Test{

public float method1(){

System.out.println("方法1");

return 1.5;

}

}

将下列哪些方法插入到第7行是合法的()(多选)

A、

public float method1(){

System.out.println(“方法2”);

return 1.1;

}

B、

public Test1(){

System.out.println(“hello”);

}

C、

public float method1( int a){

System.out.println(“方法2”);

return a+0.5;

}

D、

public Test(){

System.out.println(“hello”);

}

答案:C CD

四,this关键字

题目:

b77de6e735023992a5bc1097cfa147c0.png

package step3;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String name = sc.next();

int age = sc.nextInt();

String sex = sc.next();

Person p = new Person(name,age,sex);

p.display();

}

}

class Person{

String name = "张三";

int age = 18;

String sex = "男";

// 请在此编写代码

/********** Begin **********/

public Person(String name,int age,String sex){

this(age);

name = name;

sex = sex;

}

public Person(int age){

age = age;

}

/********** End **********/

public void display(){

String name = "李四";

int age = 11;

String sex = "男";

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

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

System.out.println("sex:" + sex);

}

}

题目代码:

package step3;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String name = sc.next();

int age = sc.nextInt();

String sex = sc.next();

Person p = new Person(name,age,sex);

p.display();

}

}

class Person{

String name = "张三";

int age = 18;

String sex = "男";

// 请在此编写代码

/********** Begin **********/

public Person(String name,int age,String sex){

this(age);

this.name = name;

this.sex = sex;

}

public Person(int age){

this.age = age;

}

/********** End **********/

public void display(){

String name = "李四";

int age = 11;

String sex = "男";

System.out.println("name:" +this.name);

System.out.println("age:" + this.age);

System.out.println("sex:" + this.sex);

}

}

五,类与对象练习

题目:

3878e79612390f50892c5cf815bdcf4a.png

86ccd3409960c1a6ef2d929758cabc8c.png

package step4;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String theMa = sc.next();

int quantity = sc.nextInt();

boolean likeSoup = sc.nextBoolean();

//使用三个参数的构造方法创建WuMingFen对象 取名 f1

//使用两个参数的构造方法创建WuMingFen对象 取名 f2

//使用无参构造方法创建WuMingFen对象 取名 f3

//分别调用三个类的 check方法

}

}

题目:

package step4;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

String theMa = sc.next();

int quantity = sc.nextInt();

boolean likeSoup = sc.nextBoolean();

//使用三个参数的构造方法创建WuMingFen对象 取名 f1

WuMingFen wumingfen1 = new WuMingFen(theMa,quantity,likeSoup);

//使用两个参数的构造方法创建WuMingFen对象 取名 f2

WuMingFen wumingfen2 = new WuMingFen(theMa,quantity);

//使用无参构造方法创建WuMingFen对象 取名 f3

WuMingFen wumingfen3 = new WuMingFen();

//分别调用三个类的 check方法

wumingfen1.check();

wumingfen2.check();

wumingfen3.check();

}

}

六,static关键字

题目:

f7e085e5f87c957a91dede4b31f109bd.png

题目代码:

package step5;

public class Test {

String name = "楚留香";

{

System.out.println("hello educoder");

}

public static void main(String[] args) {

System.out.println("我叫" + name);

study();

}

public void study(){

System.out.println("我喜欢在educoder上学习java");

}

}

答案:

package step5;

public class Test {

static String name = "楚留香";

static{

System.out.println("hello educoder");

}

public static void main(String[] args) {

System.out.println("我叫" + name);

study();

}

public static void study(){

System.out.println("我喜欢在educoder上学习java");

}

}

七,选择题

1、有如下代码:

public class TestMain{

public static void main(String args[]){

MyClass mc1 = new MyClass();

MyClass mc2 = new MyClass();

mc1.a = 100;

mc1.b = 200;

mc2.a = 300;

mc2.b = 400;

System.out.println(mc1.a);

System.out.println(mc1.b);

System.out.println(mc2.a);

System.out.println(mc2.b);

}

}

class MyClass{

static int a;

int b;

}

请问输出结果是()

A、

100

100

100

100

B、

100

200

300

400

C、

400

400

400

400

D、

300

200

300

400

2、

class MyClass {

int a;

static int b;

void fa(){

}

static void fb(){

}

public void m1(){

System.out.println(a); //位置1

System.out.println(b); //位置2

fa(); //位置3

fb(); //位置4

}

public static void m2(){

System.out.println(a); //位置5

System.out.println(b); //位置6

fa(); //位置7

fb(); //位置8

}

}

上述代码会出错的位置有:()(多选)

A、

位置1

B、

位置2

C、

位置3

D、

位置4

E、

位置5

F、

位置6

G、

位置7

3、

class MyClass {

static int i = 10;

static {

i = 20;

System.out.println(“In Static”);

}

public MyClass() {

System.out.println("MyClass()");

}

public MyClass(int i) {

System.out.println("MyClass(int)");

this.i = i;

}

}

public class TestMain {

public static void main(String args[]) {

MyClass mc1 = new MyClass();

System.out.println(mc1.i);

MyClass mc2 = new MyClass(10);

System.out.println(mc2.i);

}

}

上述代码的运行结果是:()

A、

MyClass()

20

MyClass(int)

10

B、

In Static

MyClass()

20

MyClass(int)

10

C、

In Static

MyClass(int)

20

MyClass()

10

D、

In Static

MyClass()

10

MyClass(int)

20

答案:D EG B

标签:Java,String,System,name,面向对象,println,第二章,public,out

来源: https://blog.csdn.net/weixin_45791445/article/details/110841624

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值