大一下学习记录

JAVA

面向对象

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候依次调用就可以了。面向对象则是把构成问题的事物按照一定规划分为多个独立的对象,然后通过调用对象的方法来解决问题
面向对象的特点可以概括为封装,继承,多态,接下来针对这三种特性进行简单介绍。

JAVA中的类与对象

类的定义

类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体
在面向对象的思想中,最核心的就对象。为了在程序中创建对象,首先需要定义一个类
JAVA中的类是通过class关键字来定义的,其语法格式如下

[修饰符]class 类名 [extend 父类名][implements 接口名]{
//类体,包括类的成员和成员方法}

声明成员变量的语法格式如下:

[修饰符] 数据类型 变量名 [=值];

在上述语法格式中,修饰符为可选项,用于指定变量的访问权限。变量名是变量的名称它可以赋予初始值,也可以不赋值。通常情况下,将没有赋值的变量称为声明变量,而赋值(初始化)的变量称为定义变量。

定义一个方法的语法格式如下:

[修饰符][返回值类型] 方法名 ([参数类型 参数名1,参数类型 参数2,…]){
//方法体
.
.
.
return 返回值;//当方法的返回值类型为void时,return及其返回值可以省略
}

这里我们引入一个例子来说明一下

package com.itheima;
public class Person {
    int age;        // 声明int类型的变量age
	// 定义 speak() 方法
	void speak() {  
		System.out.println("我今年" + age + "岁了!");
	}
}

上例中定义了一个Person类,并在类中定义了类的成员和成员方法。其中Person是类名,age是类的成员变量,speak()是类的承成员方法。在成员方法speak()中可以直接访问成员变量age

对象的创建

在JAVA中使用new关键字来创建对象 具体语法格式如下:

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

例如,创建Person类的实例如下:

Person p = new Person();

访问控制符

在JAVA中,针对类,成员方法,和属性提供了四种访问级别 分别是private,default,protected和public.
通过一个图将这四种控制级别由小到大依次列出

private
default
protected
public

访问控制级别如下图所示

访问范围privatedefaultprotectedpublic
同一类中
同一包中
子类中
全局范围

封装

封装是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体的实现细节

为什么要进行封装?

这里我们通过一个例子来了解

package com.itheima.example03;
class Person{
	String name;
    int age;
	public void speak(){
		System.out.println("我叫"+name+",今年"+age+"岁了");
	}
}
public class Example03 {
	public static void main(String[] args) {
		Person p = new Person();
		p.name = "张三";
		p.age = -18;
		p.speak();
	}
}

在上例中的代码中,将年龄赋值为一个负数,在这语法上不会有任何问题,因此程序可以正常进行,但在现实生活中明显是不合理的。为了避免出现这种不合理的问题,在设计一个JAVA类时,应该对成员变量的访问做出一些限定,不允许外界随意访问。这就需要类的封装

如何实现封装

具体的实现过程是,在定义一个类是,将类中的属性私有化,即使用private关键字来修饰,私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供一些使用public修饰的公有方法,其中包括用于获取获取属性值的getXxx()方法和设置属性值的setXxx()方法 接下来通过一个例子演示如何实现类的封装

package com.itheima.example04;
class Person{
	private String name;
	private int age;	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
	    if(age <= 0){
	       System.out.println("您输入的年龄不正确!");
	    } else {
		   this.age = age;
		}
	}
	public void speak(){
		System.out.println("我叫"+name+",今年"+age+"岁了");
	}
}
public class Example04 {
	public static void main(String[] args) {
		Person p = new Person();
		p.setName("张三");
		p.setAge(-18); 
		p.speak();		
	}
}

运行结果为

您输入的年龄不正确!
我叫张三,今年0岁了

继承

继承主要面熟的就是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行拓展

多态

多态指的是在一个类中定义的属性和功能被其他类继承后,当把子类对象直赋值给父类引用变量时,相同引用类型的变量调用同一个方法所呈现出的多种不同行为特性
…to be continue

以上材料节选自黑马程序员 JAVA入门基础第二版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值