java第2天:类,对象,封装和构造方法

1 面向对象简述

将 {1,3,45,56,78,90}转化为[1,3,45,56,78,90]

1-2 方法1:面向过程

代码块
public class test {
    public static void main(String[] args) {
        int[] array = {1,3,45,56,78,90};
//        打印成[1,3,45,56,78,90]
        System.out.print("[");
        for (int i = 0; i < array.length; i++) {
            if(i==array.length-1){
                System.out.print(array[array.length-1]+"]");
            }
            else {
                System.out.print(array[i]+",");
            }

        }
    }
}

1-2 方法2:面向对象

代码块
import java.util.Arrays;
public class test {
    public static void main(String[] args) {
        int[] array = {1,3,45,56,78,90};
//        打印成[1,3,45,56,78,90]
        System.out.println(Arrays.toString(array));
    }
}

2 面向对象的思想举例

面向对象:把衣服扔进洗衣机
面向过程:自己动手洗衣服
***

3 类和对象的关系

对象是类的实例化
类是抽象的。
对象是类具体的。
***

4 定义一个学生类

public class Student {
    int age = 13;
    String name = "wangsiyu";

    public void study(){
        System.out.println("学生要学习");
    }
}

1.成员变量是直接定义在类当中,在成员方法的里面
2.成员方法的定义不需要写static

5 对象的创建和使用

5-1第一步:导包

1.通常情况下,一个类并不能直接使用,必须实例化对象后才可以使用。
2.导包的格式: import 包名称.类名称
3.对于和当前类在同一包下,导包语句可以省略不写

5-2 创建对象

格式:类名称 对象名 = new 类名称();
Student stu = new Student();

5-3 对象的使用

成员变量的使用:对象名.成员变量
成员方法的使用:对象名.成员方法();

5-4 实例化上文的学生类

public class Student {
    int age = 13;
    String name = "wangsiyu";

    public void study(){
        System.out.println("studdy  sdudsla");
    }
}

6手机类的小练习

7 一个对象的内存图

8 两个对象使用一个类的内存图

9 两个引用指向同一个对象内存图

10 使用对象类型作为方法的参数

10-1 创建一个学生类

代码块
package demo1;

public class mystudent {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.age=18;
        stu.name="wangsiyu";
        method(stu);
    }
    public static void method(Student stu){
        System.out.println(stu.age);
        System.out.println(stu.name);
        stu.think();
    }
}

10-2实例化学生,将对象作为方法的参数

代码块
package demo1;

public class mystudent {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.age=18;
        stu.name="wangsiyu";
        method(stu);
    }
    public static void method(Student stu){
        System.out.println(stu.age);
        System.out.println(stu.name);
        stu.think();
    }
}

10-3使用对象类型作为方法的参数内存图

11 使用对象类型作为方法的返回值

11-1 创建一个学生类

代码块
package demo1;

public class Student {
    int age;
    String name;

    public void think(){
        System.out.println(name+"学生可以思考");
    }
}

11-2使用学生类的对象作为方法的返回值

代码块
package demo1;

public class mystudent {
    public static void main(String[] args) {
        Student res = method();
        System.out.println(res.age);
        System.out.println(res.name);
    }
    public static Student method(){
        Student stu = new Student();
        stu.name = "nezha";
        stu.age = 12;
        return  stu;

    }
}

12 成员变量和局部变量的区别

null 位置 作用域 默认值 内存 生命周期
成员变量 方法外部,直接写在类中 整个类作用域 有默认值,规则和数组一样 堆内存 随对象而生,随垃圾回收消失
局部变量 写在方法内部 只有方法可以调用,出了方法就失效 没有默认值,想使用必须手动赋值 栈内存 随方法进栈而生,随方法出栈消失

13 封装的思想——给一个数组,求最大值

package demo1;

public class getmax {
    public static void main(String[] args) {
        int[] array = {12,34,67,123,34,555,1024,1};
        int res = getMax(array);
        System.out.println("array数组的最大值是"+res);
    }

    public static int getMax(int[] array){
        int max = array[0];
        for (int i = 0; i < array.length; i++) {
            if(array[i]>max){
                max = array[i];
            }
        }
        return max;
    }
}

14 private封装

1.使用了private关键字修饰成员变量,本类中仍然可以访问到该成员变量,但是超出本来之外则不能直接访问该成员变量
2.使用了private关键字修饰成员变量,可以使用Getter和Settter方法来访问,提高代码的安全性

14-1 使用了private,Getter和Setter的类

package demo1;

public class Student {
    private int age;
    String name;

    public void setAge(int res){
        age = res;
    }
    public int getAge(){
        return age;
    }
}

14-2 使用Setter来设置成员变量值,使用Getter来获取值

package demo1;

public class mystudent {
    public static void main(String[] args) {
        Student stu = new Student();
        System.out.println(stu.name);
        System.out.println(stu.getAge());
        stu.setAge(66);
        System.out.println(stu.getAge());
    }
}

15 使用private关键字来定义学生类

注意:布尔值的Setter不变,但是Setter是有区别的。

15-1 定义一个学生类

public class Student {
    int age =18;
    private boolean male =true;

    public boolean isMale() {
        return male;
    }

    public void setMale(boolean male) {
        this.male = male;
    }
}

15-2 获得布尔值,和修改布尔值的私有成员变量

package demo1;

public class ms {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.setMale(false);
        System.out.println(stu.isMale());
    }
}

16 this关键字的作用

当方法的局部变量和类的成员变量重名时候,遵循就近原则
使用this.变量名表示使用成员变量
通过谁调用的方法,谁就是this

16-1 定义一个类

package demo1;

public class Student {
    String name = "wangsiyu";

    public void sayhello(String name){
        System.out.println(name+"你好,我是"+this.name);
    }
}

16-2 使用这个类

package demo1;

public class ms {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.name = "mayun";
        stu.sayhello("wangjianlin");
    }
}

17 构造方法

1.当我们使用new创建对象的时候,其实调用的就是构造方法

2.构造方法的名称必须和类名称大小写完全一致

3.构造方法不要写返回值,连void都不要写

4.构造方法不能有返回值

18 定义一个标准的学生类

有私有成员变量
有构造方法
有Getter和Setter.

package demo1;

public class Student {
    private String name;

    public Student(){

    }
    public Student(String name){
        this.name=name;
    }

    public void setName(String res){
        name = res;
    }
    public String getName(){
        return name;
    }
}

原文地址:https://www.cnblogs.com/robinjackpony/p/11655643.html

时间: 2024-09-29 10:05:54

java第2天:类,对象,封装和构造方法的相关文章

类 对象 封装

public class Demo2 { public static void main(String[] args){ Animal duck=new Animal (); duck.eye=2; duck.foot=2; duck.color="黑色的"; duck.content="呱呱叫"; duck.see(); System.out.print("鸭子会"); duck.call(); } /*Animal duck; dunk=ne

java 利用反射获取类对象中List的值

Field[] fields = Object.getClass().getDeclaredFields();//Object是已经被赋值的对象实例 for (Field field : fields) {if (!field.isAccessible()) { field.setAccessible(true); } if (List.class.isAssignableFrom(field.getType())) { Type t = field.getGenericType(); if (

Java核心技术(三) —— 对象与类(1)

本文将对Java程序设计的对象和类进行深入详细介绍,主要涉及以下内容: - 面向对象程序设计 - 如何创建标准Java类库中的类对象 - 如何编写自己的类 1.OOP概述 面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分.在OOP中,不必关心对象的具体实现,只要能够满足用户的需求即可. OOP中,数据是第一位的,然后再考虑操作数据的算法. 1.1 类 类是构造对象的模板或蓝图,可以将类想象成制作小甜饼的切割机,将对象想象成小甜饼.由类构造对象的过程称为创建类的实

java类对象

不错的文章 原文地址:(转载)java中的Class类与Class对象作者:albert1017 本文用作笔记之用,引用的网上资料: http://www.blogjava.net/formatmyself/articles/21291.html写得比较全面 http://www.open-open.com/lib/view/1328753336405例子比较好 http://zhidao.baidu.com/question/386608758.html解释得简洁清楚 Java程序在运行时,J

转-Java基础深入解析——类与对象

转自CSDN博客,u010425776,http://m.blog.csdn.net/u010425776/article/details/46932867 成员变量与局部变量的区别 1.成员变量定义在类中,整个类中都能够访问.   局部变量定义在局部代码块中,只能在局部代码块中访问. 2.成员变量存在于堆内存中,有初始值. 局部变量存在于栈内存中,没有初始值. PS:成员变量分为静态成员变量和非静态成员变量,非静态成员变量存在堆内存中,静态成员变量存在静态方法区中. 静态方法区只存静态成员变量

非专业码农 JAVA学习笔记 3 抽象、封装和类(2)

(2).静态域-放在内存公共存储单元,不放在特定的对象,用static修饰 (续上一篇<非专业码农 JAVA学习笔记 3 抽象.封装和类(1)>...) (3).静态初始器-由static引导的一对大括号括起来的语句组,作用跟构造函数相似 (4).最终域-final引导的,值在整个过程都不发生改变的 5.方法 (1)方法的定义:修饰词1 修饰词2…返回值类型 方法名(参数) throw[异常列表] 这里个人经验就是注意定义了返回值的方法,要在方法体里面增加return 该类型变量:此外遇到if

Java——类的封装、继承与多态

一.类和对象 1.类 类是数据以及对数据的一组操作的封装体. 类声明的格式: 类声明 { 成员变量的声明: 成员方法的声明及实现: } 1.1 声明类 [修饰符] class 类<泛型> [extends 父类] [implements 接口列表] <泛型>——类的参数,带有参数的类成为泛型类. 1.2 声明成员变量和成员方法 成员变量声明格式:[修饰符] 数据类型 变量[=表达式]{,变量[=表达式]}: 成员方法——用来描述对成员变量进行的操作,格式:[修饰符] 返回值类型 方

Java学习笔记1——类和对象

面向对象 对象:万物皆对象 面向对象 类:模子,属性+方法,类是对象的类型,是具有相同属性和方法的一组对象的集合 对象属性:对象拥有的各种特征,"对象有什么" 对象方法:对象执行的操作,"对象能干什么" 类与对象的关系/区别:类是抽象的,仅仅是模版:对象是看得到,摸得着的具体实体.例如:'手机'类,对象为iPhone6,Lumia920 Java中的类 定义类:Java程序都以类class为组织单元 创建一个对象 //1.定义一个类 public class Tel

韩顺平循序渐进学java 第05.06.07讲 类.对象

计算机语言的发展向接近人的思维方式演变 汇编语言 [面向机器] c语言    [面向过程] Java语言 [面向对象] 从类到对象,目前有几种说法:1.创建一个对象:2.实例化一个对象:3.把类实例化. 类名的首字母大写. 5.1 类和对象的区别与联系 1.类是抽象的.概念的,代表一类事物,比如人类.猫类: 2.对象是具体的.实际的,代表一个具体事物: 3.类是对象的模板,对象是类的一个个体.实例. 5.2 如何定义类 一个全面的类定义比较复杂: package包名: class 类名 exte

Java编程里的类和对象

像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了基本的认识.接下来我就来谈谈自己的看法,各位大神勿喷,新手小白敬上. 既然谈到类和对象,首先,我们要明确一个概念.那就是,什么叫类?什么是对象? 首先让我们来谈谈什么叫类.类是一个比较抽象的概念,如何给它定义,是一个难题.我们通常这样称呼它,模板.是的,它代表了具有相同属性.行为等的一种事物.就比如