面向对象学习1

写代码:


1,明确需求。我要做什么?
2,分析思路。我要怎么做?1,2,3。
3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。
4,代码实现。用具体的java语言代码把思路体现出来。`


final特点:


1:这个关键字是一个修饰符,可以修饰类,方法,变量。
2:被final修饰的类是一个最终类,不可以被继承。
3:被final修饰的方法是一个最终方法,不可以被覆盖。
4:被final修饰的变量是一个常量,只能赋值一次。

其实这样的原因的就是给一些固定的数据起个阅读性较强的名称。
不加final修饰不是也可以使用吗?那么这个值是一个变量,是可以更改的。加了final,程序更为严谨。常量名称定义时,有规范,所有字母都大写,如果由多个单词组成,中间用 _ 连接。


/*需求: 试题:假设用户账号为:admin,密码为123,编写用户登陆案例。
*要求:请将登陆定义为login方法, 并将login方法写在UserService类中 *

*** 需求分析:
1.先得有一个UserService的类
2.这个类里面会有一个登录的方法叫login方法
3.再来看回需求,用户的账号是admin,那就要考虑他输对了和没输对两种情况,
4.密码同理,要考虑两种情况
5.因为用户的账户肯定不会变,可以考虑用 public static final 修饰
.6.密码是可以改变的,所以我们可以用private修饰,并给他写getter,setter方法

//创建UserService类

        public class UserService {
		//类里面有两个成员变量,要注意常量是没有构造方法和getter,setter方法的
		//常量要大写
		//因为每个账户的账号是固定的,所以用常量
        public static final String ACCOUNT = "admin";
		private int passWord = 123;

//定义一个登录方法

public void login() {
				Scanner input = new Scanner(System.in);
				

//写一个main方法实现

public static void main(String[] args) {
			UserService us = new UserService();
			us.login();
		}

抽象类: abstract

***抽象:***不具体,看不明白。抽象类表象体现。
在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法。
抽象方法所在类一定要标示为抽象类,也就是说该类需要被abstract关键字所修饰。

抽象类的特点:
1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量)。
2:抽象方法只定义方法声明,并不定义方法实现。
3:抽象类不可以被创建对象(实例化)。
4:只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。

抽象类的细节:
1:抽象类中是否有构造函数?有,用于给子类对象进行初始化。
2:抽象类中是否可以定义非抽象方法?
可以。其实,抽象类和一般类没有太大的区别,都是在描述事物,只不过抽象类在描述事物时,有些功能不具体。所以抽象类和一般类在定义上,都是需要定义属性和行为的。只不过,比一般类多了一个抽象函数。而且比一般类少了一个创建对象的部分。
3:抽象关键字abstract和哪些不可以共存?final , private , static
4:抽象类中可不可以不定义抽象方法?可以。抽象方法目的仅仅为了不让该类创建对象。

猜你喜欢

转载自blog.csdn.net/sun_1238/article/details/107124461