欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第二章——Java面向对象(一)——类与对象

程序员文章站 2022-04-15 11:19:49
我是小康小白,一个平平无奇的Java,Python小白。热爱有趣的文字,生活和远方。个人博客:https://blog.csdn.net/weixin_45791445有问题欢迎QQ联系:1059320343 (记得备注CSDN)个人微信公众号:小康小白一,什么是类,如何创建类题目:题目代码:package step1;public class Test {public static void main(String[] args) {//创建Dog对象//设....

我是小康小白,一个平平无奇的Java,Python小白。热爱有趣的文字,生活和远方。
个人博客:https://blog.csdn.net/weixin_45791445
有问题欢迎QQ联系:1059320343 (记得备注CSDN)
个人微信公众号:小康小白

第二章——Java面向对象(一)——类与对象

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

  1. 题目:
    第二章——Java面向对象(一)——类与对象

第二章——Java面向对象(一)——类与对象
题目代码:

package step1;

public class Test {
	public static void main(String[] args) {
		//创建Dog对象
		//设置Dog对象的属性
		
		
		//输出小狗的属性
		System.out.println("名字:" +     + ",毛色:" +    + ",品种:" +  );
		
		//调用方法
		
	}
}

//在这里定义Dog类

  1. 答案:
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("叼着骨头跑");
	}

}

二,构造方法:

  1. 题目:

第二章——Java面向对象(一)——类与对象

题目代码:

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对象,并创建两种构造方法
  1. 答案:
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”);
		}
  1. 答案:C CD

四,this关键字

  1. 题目:
    第二章——Java面向对象(一)——类与对象
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);
	}
}

  1. 题目代码:
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);
	}
}

五,类与对象练习

  1. 题目:
    第二章——Java面向对象(一)——类与对象
    第二章——Java面向对象(一)——类与对象
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方法
		
	}
}

  1. 题目:
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关键字

  1. 题目:
    第二章——Java面向对象(一)——类与对象
    题目代码:
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");
	}
	
}

  1. 答案:
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
  1. 答案:D EG B

本文地址:https://blog.csdn.net/weixin_45791445/article/details/110841624