【java】头歌实践教学平台·java面向对象

  • java项目开发实战入门-java面向对象-类与对象

一、学习总结

  • 在控制台编译并运行一个Java程序,使用的命令正确的是 javac Test.java 或者 java Test

  • 快速输出数组的方法:System.out.println(Arrays.toString(要输出的数组));

  • 方法的重载

    在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可

    如果同一个类中包含了两个或两个以上方法名相同,方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 3 个方法名称都为 print ,但方法的参数有所不同,因此都属于方法的重载。

    问: 如何区分调用的是哪个重载方法呢?
    答: 当调用被重载的方法时,Java会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。

  • 构造方法

    对象在被创建的时候,也就是被new的时候,会自动调用构造方法。

    在构造方法中可以做对象初始化操作;

    构造方法与对象的方法不同,它是在对象创建时自动调用的;

    构造方法可以有参数,也可以无参数;

    构造方法无返回值,也不需要声明void关键字;

    构造方法名必须和类名相同

    如果定义的类没有声明构造方法,对象在创建时默认使用空的构造方法。

  • 构造方法不可以重载

  • this关键字
    关于this关键字,你只需要记住它就是指自身,this即代表自己,this.属性访问的是自己的属性、this()访问的就是自己的无参构造方法。

    使用
    this.属性
    this() 调用构造方法只能写在第一行

  • 修饰词static

    static修饰变量,这个变量就变成了静态变量,修饰方法,这个方法就成了静态方法。

    static关键字方便在没有创建对象的情况下来进行调用(方法/变量)。

    修饰变量
    如果一个类的成员变量被static修饰了,那么所有该类的对象都共享这个变量。无论这个类实例化多少对象,它的静态变量只有一份拷贝。

    用static关键字修饰的方法叫做静态方法,它有一个特点就是不需要创建对象就可以直接使用。

    修饰方法
    静态方法不能使用类的非静态变量;

    静态方法可以直接调用静态方法,但是调用普通方法只能通过对象的实例才能调用。

  • 静态代码块

    静态代码块是不需要依赖main方法就可以独立运行的。关于静态代码块你只需要记住一句话:在类被加载的时候运行且只运行一次。

二、典型例题

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;
}

请问输出结果是(D)

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
    }
}

上述代码会出错的位置有:(E、G)

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);
    }
}

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中的String类是一个非常重要的类,它代表了字符串类型的数据。String类是不可变的,这意味着一旦创建了一个String对象,就不能再更改它的值。下面是关于String类的一些实践教学内容: 1.创建String对象 可以使用以下两种方法来创建String对象: ```java String str1 = "Hello World"; // 直接赋值 String str2 = new String("Hello World"); // 使用构造函数 ``` 2.获取字符串长度 可以使用length()方法来获取字符串的长度: ```java String str = "Hello World"; int len = str.length(); System.out.println("字符串长度为:" + len); // 输出:字符串长度为:11 ``` 3.获取指定位置的字符 可以使用charAt()方法来获取指定位置的字符: ```java String str = "Hello World"; char ch = str.charAt(1); System.out.println("第二个字符为:" + ch); // 输出:第二个字符为:e ``` 4.比较字符串 可以使用equals()方法来比较两个字符串是否相等: ```java String str1 = "Hello World"; String str2 = "hello world"; if (str1.equals(str2)) { System.out.println("两个字符串相等"); } else { System.out.println("两个字符串不相等"); } ``` 5.截取子串 可以使用substring()方法来截取子串: ```java String str = "Hello World"; String substr = str.substring(6); System.out.println("截取后的子串为:" + substr); // 输出:截取后的子串为:World ``` 6.查找子串 可以使用indexOf()方法来查找子串在字符串中第一次出现的位置: ```java String str = "Hello World"; int index = str.indexOf("World"); System.out.println("子串第一次出现的位置为:" + index); // 输出:子串第一次出现的位置为:6 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值