第八章 面向对象编程(中级部分)——1

本文详细介绍了IDEA的安装、创建项目、使用技巧(包括设置字体、编码、快捷键等)、包的概念与使用、访问修饰符、面向对象编程三大特征以及相关概念如Super关键字、方法重写和Object类。
摘要由CSDN通过智能技术生成

一、IDEA使用

1.介绍

2.IDEA的安装

官网:https://www.jetbrains.com/

3.创建第一个Java项目






4.使用技巧

(1)设置字体和颜色主题

设置导航字体:File→Settings→Appearence & Behavior→Appearance
设置颜色主题:

设置代码字体:File→Settings→Editor→Font

设置为粗体:File→Settings→Editor→Color Scheme→General

设置颜色主题:File→Settings→Editor→Color Scheme

(2)字符编码设置

File→Settings→Editor→File Encodings

之前在Sublime Text 3将文件编码保存为GBK,是因为命令提示符的属性是GBK。

(3)设置参数提示信息

File→Settings→Editor→Inlay Hints→Java

5.课堂练习

使用IDEA开发一个java项目,创建一个类MyTools,编写一个方法,可以完成对int数组冒泡排序的功能。

在IDEA,当我们run一个文件时,会先编译成.class,再运行。

6.IDEA常用快捷键

(1)删除当前行:默认是ctrl+Y,自己配置为ctrl+D
(2)复制当前行:自己配置为ctrl+alt+向下箭头
(3)补全代码alt+/
(4)添加注释和取消注释ctrl+/(第一次是添加注释,第二次是取消注释)
(5)导入该行需要的类:先配置anto import ,然后使用alt+enter
        File→Settings...→Editor→General→Auto Import→勾选这两项

(6)快速调整代码格式ctrl+alt+L
(7)快速运行程序:自己配置为alt+R
(8)生成构造器、get和set方法、重写toString方法等alt+insert
(9)查看一个类的层级关系:(ctrl+H)→右击→Diagram→show Diagram...
        在类的层次关系图中添加子类
Ctrl+Alt+B
       
选择如下图标,可在类的层次关系图中显示类中的方法:
        
(10)定位方法:将光标放到一个方法上,输入ctrl+B可以选择定位到方法
(11)自动地分配变量名:通过在后面加
.var

如何配置快捷键?
File→Settings...→Keymap→搜索栏🔍→右击要添加快捷键的操作→Remove...(删除原本的快捷键)→Add Keyboard Shortcut(配置新的快捷键)

7.模板/自定义模板

file→settings→editor→Live templates→
查看有哪些模板快捷键/可以自己增加模板

8.自动生成注释

file→settings→editor→File and Code Templates→

二、包

1.基本介绍

包的三大作用:
(1)区分相同名字的类
(2)当类很多时,可以很好地管理类
(3)控制访问范围

包的基本语法:
package com.hspedu;
(1)package 关键字,表示打包。
(2)com.hspedu 表示包名。

2.包的原理

包的本质:实际上就是创建不同的文件夹来保存类文件。

3.快速入门

package com.use;

import com.xiaoming.Dog;

public class Test {
    public static void main(String[] args) {
        Dog dog = new Dog();//有引入import,可以不带包名
        System.out.println(dog);//com.xiaoming.Dog@1540e19d

        com.xiaoqiang.Dog dog1 = new com.xiaoqiang.Dog();//没有引入import,必须带包名;但不能同时引入同名的类
        System.out.println(dog1);//com.xiaoqiang.Dog@677327b6

    }

}

4.包的命名

(1)命名规则

只能包含数字、字母、下划线、小圆点,但不能用数字开头,不能是关键字或保留字

练习:
demo.class.exec1 //错误,class是关键字
demo.12a //错误,12a是数字开头
demo.ab12.oa //正确

(2)命名规范

一般是小写字母+小圆点
一般是 com.公司名.项目名.业务模块名

例如:
com.sina.crm.user //用户模块
com.sina.crm.order //订单模块
com.sina.crm.utils //工具类

5.常用的包

一个包下,包含很多的类,java中常用的包有:
java.lang.* //lang包是基本包,默认引用,不需要再引入
java.util.*   //util包,系统提供的工具包,工具类,例如:Scanner
java.net.*  //网络包,网络开发
java.awt.*  //是做java的界面开发,GUI

6.包的使用细节

(1)如何引入包?

语法:import 包;
引入包的作用:使用该包下的类

import java.util.Scanner;//引入包java.util下的Scanner类
import java.util.*;//引入包java.util下的所有类

练习:使用系统提供Arrays完成数组排序。

package com.hspedu.pkg;

//建议:我们需要使用到哪个类,就导入哪个类,不建议使用*导入
//import java.util.Scanner;//引入包java.util下的Scanner类
//import java.util.*;//引入包java.util下的所有类

import java.util.Arrays;

public class Import01 {
    public static void main(String[] args) {
    //使用系统提供Arrays完成数组排序
    int[] arr = {-1, 20, 2, 13, 3};
    //传统方法:自己编写排序(冒泡)
    //新方法:使用系统提供的相关的类
    Arrays.sort(arr);
    for(int i = 0; i < arr.length; i++) {
        System.out.print(arr[i] + "\t");
    }
    }
}

(2)注意事项和使用细节

1)package的作用是声明当前类所在的包,需要放在类(文件)的最上面,一个类中最多只有一句package。
2)import指令位置放在package的下面,在类定义前面,可以有多句且没有顺序要求。

//package的作用是声明当前类所在的包,需要放在类(文件)的最上面
// 一个类中最多只有一句package。
package com.hspedu.pkg;

//import指令位置放在package的下面,在类定义前面
// 可以有多句且没有顺序要求。
import java.util.Arrays;
import java.util.Scanner;

//类定义
public class PkgDetail {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] arr = {0, -1, 1};
        Arrays.sort(arr);
    }

}

三、访问修饰符

1.基本介绍

java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围):
(1)公开级别:用public修饰,对外公开。
(2)受保护级别:用protected修饰,对子类和同一个包中的类公开。
(3)默认级别:没有修饰符号,向同一个包的类公开。
(4)私有级别:用private修饰,只有类本身可以访问,不对外公开。


同类,即本类。

2.注意事项

(1)修饰符可以用来修饰类以及类中的属性、成员方法。
(2)只有默认的和public才能修饰类。
(3)成员方法的访问规则和属性完全一样。

package com.hspedu.modifier;

public class A {
    //成员变量(属性)
    public int n1 = 100;
    protected int n2 = 200;
    int n3 = 300;
    private int n4 = 400;

    //成员方法
    public void m1() {
        //在同一个类下,可以访问public,protected,默认,private修饰的属性
        System.out.println("n1=" + n1 + " n2=" + n2 + " n3=" + n3 + " n4=" + n4);
    }

    protected void m2() {}
    void m3() {}
    private void m4() {}

    public void tiger() {
        //在同一个类下,可以访问public,protected,默认,private修饰的成员方法
        m1();
        m2();
        m3();
        m4();
    }

}
package com.hspedu.modifier;

public class B {
    //成员方法
    public void say() {
        A a = new A();
        //在同一个包下,可以访问public,protected,默认,不能访问private属性或方法
        System.out.println("n1=" + a.n1 + " n2=" + a.n2 + " n3=" + a.n3);
        a.m1();
        a.m2();
        a.m3();
        //a.m4(); //报错
    }
}
package com.hspedu.modifier;

public class Test {
    public static void main(String[] args) {
        A a = new A();
        a.m1();
        B b = new B();
        b.say();
    }
}

//只有默认的和public才能修饰类
class Tiger {}
package com.hspedu.pkg;

import com.hspedu.modifier.A;

public class Test {
    public static void main(String[] args) {
        A a = new A();
        //在不同包下,可以访问public修饰的属性和方法,不能访问protected,默认,private修饰的属性和方法
        System.out.println("n1= " + a.n1);
        a.m1();
    }

}

四、OOP三大特征(封装、继承和多态)

五、Super关键字

六、方法重写(overwrite)

七、Object类详解,垃圾回收机制

八、项目

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值