美文网首页
Java基础知识点(五)

Java基础知识点(五)

作者: 羋学僧 | 来源:发表于2021-09-13 16:55 被阅读0次

    一、类、对象

    世间万物皆对象

    类是对象的模板

    类的特征是静态表现
    类的行为是动态动作

    类和对象的关系

    类是抽象的概念,是对象的模板
    对象是具体的事物,是类的具体实例

    面向对象编程

    面向对象编程是利用编程方式提现出现实中类与对象。
    从已有现实的类中定义程序中的类(Class)。
    从类(Class)创建(实例化)具体的对象(Object)。

    Java创建类的语法

    public class 类名{
            //类的内容
              }
    

    Java创建类的命名规则

    public class Dog{
            //类的内容
              }
    

    类名要直白意义,最好英文
    首字母大写:Dog、BigDecimal
    不要数字开头,不要包含特殊字符
    创建类的实例对象

    类名 对象名 = new 类名();
    

    new 关键字是创建实例对象最重要的标志

    对象的命名规则

    Dog lucky = new Dog();
    Person first = new Person();
    

    类名要直白意义,最好英文
    首字母小写:sam、firstItem
    不要数字开头,不要包含特殊字符

    成员变量

    定义

    成员变量就是隶属于对象的变量
    成员变量用于保存对象的静态特征
    同类型的不同对象拥有相同的成员变量,但值彼此独立

    public class Dog{
            String name;
            int age;
            float weight;
              }
    

    成员变量的使用
    赋值

    Dog lucky = new Dog();
    lucky.name = "Lucky";
    lucky.age = 3;
    lucky.weight = 10.2f;
    

    读取

    System.out.println(lucky.name + "体重" + lucky.weight + "千克");
    

    方法(Method)

    什么是方法

    方法是用于完成特定功能的整段代码

    [修饰符] 返回值类型 方法名 (形式参数(形参)列表){
                Java语句块
    }
    
    public String isOddNumber(int num){
            if(num%2==0){
                   return "偶数";
             }else{
                   return "奇数";
             }
    }
    

    方法的调用

    类名 对象名 = new 类名();//首先创建对象
    类型 变量名 = 对象名.方法名(实际参数列表);//调用方法
    //后续处理...
    
    int a = 10;
    MethodSample01 methodSample01 = new MethodSample01();
    String r1 = methodSample01.isOddNumber(a);
    System.out.println(a + "是" + r1);
    

    无返回值的方法定义与调用

    public void output1(){
              System.out.println("一");
    }
    public void output2(){
              System.out.println("二");
    }
    
    methodSample01.output1();
    methodSample01.output2();
    

    包(Package)

    把功能相似或者相关的类组织在同一个包中
    包也采用了树形目录的存储方式
    通过包也可限定类的访问权限

    包的命名规范

    包采用“逆域名法”进行命名,用“.”分割,单词全部小写
    标准格式:域名后缀.组织机构名.项目名[.模块名].包的职能

    访问修饰符

    访问修饰符用于控制类、成员变量、方法的访问范围

    面向对象三大特征

    封装
    继承
    多态

    封装

    封装即隐藏功能的实现细节
    利用对象与方法是实现封装的直接途径
    良好的封装让代码更容易阅读与维护

    对成员变量进行读写封装

    getter方法,getter方法用于读取成员变量的内容
    getter书写格式: public 成员变量类型 get 成员变量名() ,PS:肖字母大写

    setter方法,setter方法用于设置成员变量的内容
    setter书写格式: public void set 成员变量名(新的数据参数)

    定义

    public class MobileNumber {
    
        private String owner; //所有者
    
        private String areaCode = "86"; //国家区号
        
        private long mobileNumber; //手机号
        
        //getter方法,getter方法用于读取成员变量的内容
        //getter书写格式: public 成员变量类型 get成员变量名() ,PS:肖字母大写
        public String getOwner() {
            //this关键字代表当前对象的...
            return this.owner;
        }
    
        //setter方法,setter方法用于设置成员变量的内容
        //setter书写格式: public void set 成员变量名(新的数据参数)
        public void setOwner(String owner) {
            this.owner = owner;
        }
    }
    
    

    调用

    public class MobileNumberTestor {
            public static void main(String[] args){
                    MobileNumber mobileNumber = new MobileNumber();
                    mobileNumber.setOwner("老齐");
                    String owner = mobileNumber.getOwner();
                    System.out.println(owner);
            }
    }
    

    继承

    父类

    //Mark1
    package com.imooc.object.Sample4;
    
    public class Mark1 {
        protected String title;
        protected String color;
        protected String movie;
        public void description(){
            System.out.println("型号"+title);
            System.out.println("颜色"+color);
            System.out.println("电影"+movie);
        }
        private void fire(){
            System.out.println("利用手臂燃料泵射出火焰");
        }
    
        public static void main(String[] args) {
            Mark1 mark1=new Mark1();
            mark1.color="银灰色";
            mark1.movie="钢铁侠1";
            mark1.title="马克1型";
            mark1.description();
            mark1.fire();
        }
    }
    

    子类

    extends关键字用于类的继承
    extends关键字后面是“父类”,extends关键字前面是“子类”
    子类会继承父类的(default)/protected/public修饰的成员变量与方法

    //Hulk
    package com.imooc.object.Sample4;
    
    public class Hulk extends Mark1{
        private void repair(){
            System.out.println("弹射备件替换战损组件");
        }
    
        public static void main(String[] args) {
                //子类继承父类的成员变量和方法。
                Hulk hulk=new Hulk();
                hulk.color="红色";
                hulk.movie="复仇者联盟2";
                hulk.title="反浩克装甲";
                hulk.description();
                hulk.repair();
    }
    }
    
    //Mark85
    package com.imooc.object.Sample4;
    
    public class Mark85 extends Mark1{
        private void createShield(){
            System.out.println("弹射备件替换战损组件");
        }
    
        public static void main(String[] args) {
                //子类继承父类的成员变量和方法。
                Mark85 mark85=new Mark85();
                mark85.color="红色";
                mark85.movie="复仇者联盟4";
                mark85.title="马克85型";
                mark85.description();
                mark85.createShield();
            }
    }
    

    多态

    多态是同一个行为具有多个不同表现形式或形态的能力

    实现多态的关键是接口

    接口(Interface)是一个抽象的类型,只提供方法的定义
    实现类是一个接口的具体实现,要实现每一个接口方法的功能

    根据区号返回服务语言

    接口


    实现类

    implements




    模拟客服服务


    使用者

    二、ArrayList类

    ArrayList是Java内置的数据集合,用于存储多个数据
    ArrayList是数组替代品,提供了更多的数据操作方法
    ArrayList几乎是每一个项目中必用的类

    1、向列表添加数据

    对象名.add();
    对象名.add(索引位置,数据)// 像当前数组尾部添加数据

    2、泛型:<>

    List <数据类型> 对象名 = new ArrayList<数据类型>();

    3、得到指定位置数据

    对象名.get(索引位置);

    4、获得列表的数值总数

    对象名.size();

    5、移除数据

    对象名.remove(索引位置);

    6、移除最后一项数据

    对象名.remove(对象名.size()-1);

    7、遍历列表所有数据

    For( 数据类型 变量名 :列表名){
    //循环体
    }

    package com.imooc.object.Sample6;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class ArrayListSample {
       public static void main(String[] args) {
         //泛型<类型>,用于规范列表中的数据
           List<String> bookList=new ArrayList<String>();//创建ArrayList对象
           bookList.add("红楼梦");//向列表末端追加数据
           bookList.add("西游记");
           bookList.add("水浒传");
           bookList.add("三国志");
           bookList.add("index:0,element“镜花缘");
           System.out.println(bookList);
           String bookName=bookList.get(2);//得到指定索引位置(从0开始)
           System.out.println(bookName);
           int size=bookList.size();//得到列表总数
           System.out.println(size);
           bookList.remove(2);
           bookList.remove(bookList.size()-1);
           System.out.println(bookList);
           for (String book:bookList){
               System.out.println("《"+book+"》");
           }
       }
    }
    

    相关文章

      网友评论

          本文标题:Java基础知识点(五)

          本文链接:https://www.haomeiwen.com/subject/avxkwltx.html