A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 秋名山车神 初级黑马   /  2018-4-7 19:50  /  1143 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们学习编程是为了什么?
  为了把我们日常生活中实物用学习语言描述出来
我们如何描述现实世界事物?
属性        就是该事物的描述信息(事物身上的名词)
行为        就是该事物能够做什么(事物身上的动词)
Java中最基本的单位是类,Java中用class描述事物也是如此
成员变量        就是事物的属性
成员方法        就是事物的行为
定义类其实就是定义类的成员(成员变量和成员方法)
成员变量        和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
成员方法        和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。
类和对象的概念
a:类:是一组相关的属性和行为的集合(我们班所有的同学都具备相同的属性和行为,比如:姓名,年龄,学习,这样就把所有的学生成为学生类)
对象:是该类事物的具体体现(说某个同学时,他都具备自己特有的属性和行为)
举例:
                  学生
         对象        具体的某个学生就是一个对象
比如:车是一个类,具体的开的奔驰、宝马,就是对象
下面就是一个很简单的学生类:
public class Student {
        //成员变量
        //姓名
        String name;
        //年龄
        int age;
        //成员方法
        //学习的方法
        public void study() {
                System.out.println("好好学习,天天向上");
        }
       
        //吃饭的方法
        public void eat() {
                System.out.println("学习饿了要吃饭");
        }
}
类的使用:
使用一个类,其实就是使用该类的成员。(成员变量和成员方法)而我们要想使用一个类的成员,就必须先拥有该类的对象,我们就要创建该类的对象。
                  格式:
                          类名  对象名  = new 类名();
  对象如何访问成员呢?
                  成员变量:
                          对象名.成员变量
成员方法:
对象名.成员方法(...)
private关键字
直接使用对象名访问成员变量,会存在数据的安全问题
这个时候,我们就应该思考能不能让外界不要直接访问成员变量?
private关键字
private:
          是一个修饰符
          可以修饰成员变量,也可以修饰成员方法
          private修饰的成员只能在本类中被访问
针对被private修饰的成员变量,我们会相应的给出getXxx()和setXxx()用于获取和设置成员变量的值,
封装概述
是面向对象三大特征之一
是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。就像刚才说的年龄。
封装原则:
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
成员变量private,提供对应的getXxx()/setXxx()方法
好处:
通过方法来控制成员变量的操作,提高了代码的安全性
把代码用方法进行封装,提高了代码的复用性
this关键字
A:this:代表所在类的对象引用
方法被哪个对象调用,this就代表那个对象
B:什么时候使用this呢
局部变量和成员变量重名
标准的类代码和测试
:
a:成员变量
b:构造方法
无参构造方法
带参构造方法
c:成员方法
getXxx()
setXxx()
给成员变量赋值的方式
a:无参构造方法+setXxx()
b:带参构造方法
下面就是一个标准的学生类:
public class Student {
        //成员变量
        private String name;
        private int age;
        //构造方法
        public Student() {}
        public Student(String name,int age) {
                this.name = name;
                this.age = age;
        }
        //成员方法
        public void setName(String name) {
                this.name = name;
        }
        public String getName() {
                return name;
        }
        public void setAge(int age) {
                this.age = age;
        }
        public int getAge() {
                return age;
        }
}
测试类
public class StudentTest {
        public static void main(String[] args) {
                //无参构造方法+setXxx()
                Student s = new Student();
                s.setName("林青霞");
                s.setAge(30);
                System.out.println(s.getName()+"---"+s.getAge());
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马