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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小鲁哥哥 黑马粉丝团   /  2016-8-10 19:59  /  2682 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小鲁哥哥 于 2016-8-11 14:45 编辑


【济南中心】JAVA编程阶梯:基础篇之第七章


前言
前一章主要介绍了面向对象的概念和应用场景,第七章就要深入了解面向对象,如何在程序中体现面向对象的思想。
构造方法
一:概念:给对象的数据(属性)进行初始化
二:特点:a.方法名与类同名(字母大小写也要一样)
b.没有返回值类型
c.没有具体的返回值return
三:构造方法重载:方法名相同,与返回值类型无关(因为构造方法没有返回值),只看参数列表
注:如果没有写出构造方法,系统自动提供一个无参的构造方法,如果我们给出了构造方法,系统不再提供构造方法。
例子:
[Java] 纯文本查看 复制代码
class Student{ 
//下面是构造方法
public Student{
 //无参构造方法
} 
public Person(String name,int age){
 //有参构造方法
} 
}

成员变量
一:赋值
A.通过setxxx()方法
B.通过构造方法
二:例子,还是以学生类为例子
[Java] 纯文本查看 复制代码
class Student{
private String name;
private int age;
//下面是构造方法
public Student(String name,int age){
//构造方法赋值
//this.name = name;
//this.age = age;
}
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
}


创建对象的步骤
Student s = new Student();
1,Student.class加载进内存
2,声明一个Student类型引用s
3,在堆内存创建对象,
4,给对象中属性默认初始化值
5,属性进行显示初始化
6,构造方法进栈,对对象中的属性赋值,构造方法弹栈
7,将对象的地址值赋值给s
static关键字
一:概念:static用于修饰类的成员,如成员变量,成员方法,代码块,被static修饰的成员具备一些特殊性。
二:特殊性
a:随着类的加载而加载
    b:优先于对象存在
        c:被类的所有对象共享
                举例:咱们班级的学生应该共用同一个班级编号。其实这个特点也是在告诉我们什么时候使用静态?
                如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的。
                举例:
                        饮水机(用静态修饰)
                        水杯(不能用静态修饰)
                        共性用静态,特性用非静态
        d:可以通过类名调用
                其实它本身也可以通过对象名调用。
                推荐使用类名调用。
                静态修饰的内容一般我们称其为:与类相关的,类成员
三:注意事项
a:在静态方法中是没有this关键字的
        如何理解呢?
                静态是随着类的加载而加载,this是随着对象的创建而存在。
                静态比对象先存在。
    b:静态方法只能访问静态的成员变量和静态的成员方法
        静态方法:
                成员变量:只能访问静态变量
                成员方法:只能访问静态成员方法
        非静态方法:
                成员变量:可以是静态的,也可以是非静态的
                成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
        简单记:
                静态只能访问静态。
四:列子
[Java] 纯文本查看 复制代码
class Student{
static String name;//静态变量
static{
System.out.println("这是静态代码块");
}
public static void sayHello(){
System.out.println("这是静态方法");
}
}
五:静态变量和成员变量的区别
    A:所属不同
        * 静态变量属于类,所以也称为为类变量
        * 成员变量属于对象,所以也称为实例变量(对象变量)
    B:内存中位置不同
        * 静态变量存储于方法区的静态区
        * 成员变量存储于堆内存
    C:内存出现时间不同
        * 静态变量随着类的加载而加载,随着类的消失而消失
        * 成员变量随着对象的创建而存在,随着对象的消失而消失
    D:调用不同
        * 静态变量可以通过类名调用,也可以通过对象调用
        * 成员变量只能通过对 象名调用

main方法的格式详细解释
A:格式
        * public static void main(String[] args) {}
B:针对格式的解释
        * public 被jvm调用,访问权限足够大。
        * static 被jvm调用,不用创建对象,直接类名访问
        * void被jvm调用,不需要给jvm返回值
        * main 一个通用的名称,虽然不是关键字,但是被jvm识别
        * String[] args 以前用于接收键盘录入的

使用JDK提供的帮助文档
A:找到文档,打开文档
B:点击显示,找到索引,出现输入框
C:你应该知道你找谁?举例:Scanner
D:看这个类的结构(需不需要导包)
    * 成员变量    字段
    * 构造方法    构造方法
    * 成员方法    方法

Math类
一:概念:类包含用于执行基本数学运算的方法
二:获取随机数的方法:
public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
童鞋们可以自行验证一下。

这一章是讲面向对象的深入知识点和Math的简单介绍,这些都需要在平常多加练习才能熟练掌握,毕竟面向对象只是一种思想,把这种思想实现的是我们这些编码人。

锦绣齐鲁.jpg

10 个回复

倒序浏览
回复 使用道具 举报
小鲁哥哥辛苦啦!~
回复 使用道具 举报
默默的收藏
回复 使用道具 举报
{:2_36:}{:2_36:}{:2_36:}{:2_36:}{:2_36:}
回复 使用道具 举报
小鲁哥哥太给力了
回复 使用道具 举报
很全 很详细 收藏了 谢谢
回复 使用道具 举报
讲的很详细,太感谢了
回复 使用道具 举报
挺你,棒棒哒
回复 使用道具 举报
好贴好贴
回复 使用道具 举报
总结的很全面
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马