400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

java面向对象-part01-创新互联

目录

成都创新互联公司专业为企业提供永吉网站建设、永吉做网站、永吉网站设计、永吉网站制作等企业网站建设、网页设计与制作、永吉企业网站模板建站服务,10年永吉做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

方法

对方法的一些理解

设计方法的建议

方法的定义

面向对象和面向过程的区别

面向过程

面向对象

类和对象

类的构造器(类的构造函数)

修饰词:this

用于修饰属性

用于修饰方法

this用于修饰构造器

方法的重载

什么是方法的重载

方法重载的例子

第一个例子,重载是依靠不同的参数来区别而不是依靠不同类型的返回值来区别

第二个例子,参数个数不同情况下的重载

第三个例子,参数类型不同情况下的重载

第四个例子,参数位置不同情况下的重载

形参和实参

形参(形式参数)

实参(实际参数)

可变个数的形参(传递的参数个数是可变的)

基本格式

使用说明

举个栗子

权限修饰符(public、protected、default、private)

封装

封装的目的

封装的作用

一个封装例子


方法 对方法的一些理解设计方法的建议方法的定义
[访问修饰符] 方法的返回值类型 方法名([参数类型 参数名]){
    ...
    方法体
    ...

    [return 返回值;]
}
面向对象和面向过程的区别 面向过程面向对象类和对象
//class1.java
public class class1{
    //以人类为例

    //定义一些属性
    private String country;//国家
    private String area;//地区
    private String city;//城市
    private String address;//住址
    private int age;//年龄
    private String sex;//性别
    private String name;//姓名
    private String phone;//电话

    //定义一些方法
    //告诉别人自己的国家
    public String getCountry() {
        return country;
    }

    //告诉别人自己的地区
    public String getArea() {
        return area;
    }
}

//class2.java
public class class2{
    public static void main(String[] args) {
        //创建一个对象(实例化一个类)
        class1 c1 = new class1();
        //输出
        System.out.println(c1.getCountry());
    }
}
类的构造器(类的构造函数)
//class1.java
public class class1{
    
}

//class2.java
public class class2{
    public static void main(String[] args){
        class1 c1 = new class1();
        //类class1中,什么内容都没有,但是在此处创建class1的对象可以成功地创建,这就是调用了隐式存在的类的构造函数
    }
}
修饰词:this 用于修饰属性用于修饰方法this用于修饰构造器方法的重载 什么是方法的重载方法重载的例子 第一个例子,重载是依靠不同的参数来区别而不是依靠不同类型的返回值来区别
//class1.java
public calss class1{
    //有如下两个同名方法,它们的参数相同但是方法的返回值不同
    public int add(int a,int b){}
    public double add(int a,int b){}
    //如果将上面的代码复制到IDE中,则编译器会报错,因为方法的返回值并不作为方法重载的依据
}
第二个例子,参数个数不同情况下的重载
//class1.java
public class class1{
    //有以下两个函数,这两个函数是重载的,它们的参数个数不同
    public int add(int a,int b){}
    public int add(int a,int b,int c){}
}
第三个例子,参数类型不同情况下的重载
//class1.java
public class class1{
    //下面几种方法都是重载的,它们的参数类型不同
    public double add(int a,int b){}
    public double add(int a,double b){}
    public double add(double a,int b){}
    public double add(double a,double b){}
}
第四个例子,参数位置不同情况下的重载
//class1.java
public class class1{
    //参数位置不同情况下的重载
    //这种情况需要特别注意,因为不是简单粗暴地交换参数的位置就是重载了

    //先来看下面几种是重载的情况
    public void show(int a,int b,String c){}
    public void show(int a,String c,int b){}
    public void show(String c,int a,int b){}
    //这几种写法是可以成功重载的,简单地说,它们也是属于参数类型不同的情况

    //将上面三个重载函数保留,那么下面这些写法便不是重载,并且编译器会报错
    public void show(int b,int a,String c){}
    public void show(String c,int b,int a){}

    //上面两个函数不能构成重载,简单地说,它们的参数类型和已经存在的同名函数的参数类型相同
    
    //因此严格地说来,只有两种情况构成函数的重载
    //1.参数的个数不同
    //2.参数的位置不同

    //用另一种方法分析,可能更容易看出上面函数不能重载的原因
    //从函数的声明来看,上面的函数声明依次是这样的
    public void show(int,int,String);
    public void show(int,String,int);
    public void show(String,int,int);

    public void show(int,int,String);
    public void show(String,int,int);
    //这样便很容易可以发现,有几个函数在声明时的参数类型顺序是重复的,折旧造成这些参数类型顺序重复的函数无法构成重载
}
形参和实参 形参(形式参数)实参(实际参数)可变个数的形参(传递的参数个数是可变的) 基本格式

数据类型...变量名

使用说明举个栗子
//class1.java
public class class1 {
    public static void main(String[] args) {
        show(1, "12", "34", "56");
    }


    public static void show(int i, String... str) {
        for (String s : str) {
            System.out.println(s);
        }
    }
}
权限修饰符(public、protected、default、private)
权限修饰符所提供的访问权限
权限修饰符在类内部的访问权限在同一个包中的访问权限在不同的包中的访问权限在同一个项目中的访问权限
private可以被访问不可以被访问不可以被访问不可以被访问
default可以被访问可以被访问不可以被访问不可以被访问
protected可以被访问可以被访问可以被访问不可以被访问
public可以被访问可以被访问可以被访问可以被访问
封装 封装的目的

封装应该将类中的一些内容隐藏掉,只允许在类内部被直接访问,而在类外部只能通过方法调用的方式被访问

封装的作用一个封装例子
//class1.java
public class class1 {
    private int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

//class2.java
public class class2 {
    public static void main(String[] args) {
        class1 c1 = new class1();
        c1.setAge(20);
        System.out.println(c1.getAge());
        //若是通过c1.age直接访问类的成员变量,编译器便会报错,因为成员变量age是private类型,无法直接被外部访问
    }
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章标题:java面向对象-part01-创新互联
文章URL:http://www.bluegullmedia.com/article/deopjs.html

其他资讯

让你的专属顾问为你服务

0.4929s