Java面向对象_包装类访问修饰符

在java中有一个设计的原则"一切皆对象",java中的基本数据类型就完全不符合这种设计思想,因为八种基本数据类型并不是引用数据类型,所以java中为了解决这样的问题,jdk1.5以后引入了八种基本数据类型的包装类。

八种包装类分为两大类型

Number:Integer、Short、Long、Double、Float、Byte都是Number的子类表示一个数字。

Object:Character、Boolean都是Object的直接子类。

 1 public class Test5 {
 2
 3     /**
 4      * @param args
 5      */
 6     public static void main(String[] args) {
 7         // TODO Auto-generated method stub
 8         int num=10;
 9         Integer num2=10;//自动装箱,新创建一个new对象
10         int num3=1+num2;//自动拆箱
11         //手动拆箱,调用intValue方法
12         num2.intValue();
13     }
14
15 }

转型操作

在包装类中,可以将一个字符串变为指定的基本数据类型,一般在输入数据时使用较多。

在Integer类中将String变为int型数据:public static int parseInt(Strings)

在Float类中将String变为float型数据:public static float parseFloat(Strings)

注意:转型操作时,字符串必须由数字组成,否则会出现错误

享元模式:它使用共享对象,用来尽可能减少内存使用量以及分享资讯给尽可能多的的相似对象;

它适合用于大量对象只是重复因而导致无法令人接收的使用大量内存。通常对象中的部分状态是可以分享。

常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。

运用共享技术有效的支持大量细粒度的对象

 1 public class Test5 {
 2
 3     /**
 4      * @param args
 5      */
 6     public static void main(String[] args) {
 7         // TODO Auto-generated method stub
 8         //转型操作
 9         String s="200";
10         Integer.parseInt(s);
11
12         //把一个字节内的整数缓存在整数常量池中,这样可以避免不断创建细粒度的对象,造成对内存的消耗
13         Integer a=12;
14         Integer b=12;
15         System.out.println(a==b);
16     }
17
18 }

oo原则:

1.开闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

2.合成/聚合复用原则:新对象的某些功能在已创建好的对象里已实现,那么尽量用已有对象提供的功能,使之成为新对象的一部分,而不要再重新创建

3.依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象

4.接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上

5.迪米特法则:一个对象应该对其他对象保持最少的了解

6.里氏替换原则:所有引用基类的地方必须能透明的使用其子类的对象

7.单一职责原则:不要存在多于一个导致类变更的原因,即一个类只负责一项职责

时间: 2024-10-11 18:07:28

Java面向对象_包装类访问修饰符的相关文章

Java面向对象入门(2)-访问修饰符

Java访问修饰符–public, protected, private and default Java提供了四个访问修饰符来设置类,变量,方法和构造函数的访问级别,即public,private,protected和default.这些访问级别修饰符确定其他类是否可以使用特定字段或调用特定方法. 1. Java访问修饰符 让我们快速地比较一下这些访问修饰符. public? -随处可见 protected? –可在同一包和子类中访问 default? –仅在同一程序包中可访问 private

Java语言中的-----访问修饰符

day04 Java语言中的----访问修饰符 一.访问修饰符概述: 访问修饰符就是对变量或者是方法或者是类的一个修饰,通过修饰以后实现一些必要的权限,主要是说明类成员如何被使用的作用. 二.访问修饰符 1.访问修饰符有哪些? 访问修饰符总共有8种,本文只先给大家说static和final两个修饰符 1.1.final.修饰常量的 1.2.static.修饰静态的 1.3.abstract. 1.4.native. 1.5.sysnchronized.修饰线程的 1.6.transient. 1

Java杂谈之类的访问修饰符及其他注意点知识

package JavaObject; public class Person { //hand为内部类,内部类的访问修饰符可以任意 //private class hand{} public String name; //protected访问修饰符,对于同一个包或者子类是可以访问到的 protected int sex; //缺省对同一个包或继承子类是可以访问到的但是同一个包里面的子类就访问不到 int age; //私有,Person自己才能访问 private double money;

java中四种访问修饰符

Java中的四种访问修饰符:public.protected.default(无修饰符,默认).private. 四种修饰符可修饰的成分(类.方法.成员变量)   public protected default private 类 √ × √ ×(内部类可以用private修饰) 方法 √ √ √ √ 成员变量 √ √ √ √ 四种修饰符的访问权限 public:对所有类可见 protected:对同一包中的类可见.对同一包及不同包中的子类可见 default:对同一包中的类可见.对同一包中的

JAVA 中的权限访问修饰符(public,protected,default,private )

JAVA中有四个权限访问修饰符:public,protected,default,private 注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限 1.default:包访问权限 如果什么也没写,默认为default.当然也可以显式得给出default权限 default修饰的属性和方法,包中的所有其他类对那个成员都有访问权限,但是对于这个包之外的所有类没有访问权限. 2.public: 接口访问权限 public修饰的属性和方法对每个类都是可见的 3.private:类内访问权限

C#关键字、面向对象特点、访问修饰符、数据类型等

new关键字 一.创建对象 (一)在堆中开辟控件,引用类型在堆中 (二)在开辟的堆控件中,创建对象 (三)调用对象的构造函数 二.隐藏父类的成员 this (一)代表当前类的对象 (二)显示调用自己的构造函数 base (一)显示调用父类的构造函数 (二)调用父类的成员 三.面向对象 (一)封装: 1.减少大量的冗余代码 2.封装将一坨很难理解的功能封装起来,但是对外提供一个访问的使用接口 (二)继承: 特性: 1.单根性:一个子类只能有一个父类 2.传递性:爷爷类,爹类,儿子类 作用: 1.我

2.关于java的类的访问修饰符和main方法的声明

最近在看Java core I 对java有了更深一步的了解. Java是一种成长的语言, 从1996年到现在,Java的类库从200多个增长到了4000多个,有个惊人的增长. Java从1.0版本升级到了Java10 第一个问题: 类必须用public(access modifier--访问修饰符)修饰吗? 不用, 第二个问题 main方法必须声明为public吗 是,从Java SE 1.4之后的版本 强制main方法为public的. 否则,几遍编译能通过,也不会运行(即使有静态块也不会执

java中四种访问修饰符区别及详解全过程

客户端程序员:即在其应用中使用数据类型的类消费者,他的目标是收集各种用来实现快速应用开发的类. 类创建者:即创建新数据类型的程序员,目标是构建类. 访问控制存在的原因:a.让客户端程序员无法触及他们不应该触及的部分  : b.允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员  java的四个关键字:public.protected.default.private(他们决定了紧跟其后被定义的东西可以被谁使用) 适用范围<访问权限范围越小,安全性越高>   访问权限   类  

Java中的protected访问修饰符

在某个类中定义的protected 方法和属性和默认权限方法和属性是一样的.比如,某类的protected 方法和属性在包外是不能通过该类实例进行访问的(你能在包外访问一个类的默认权限的方法和属性吗?当然不能),这就是为什么在某对象所在的包的以外的任何 地方,你不可以通过该类的对象引用来调用它的protected 方法和属性,哪怕是在该类的子类中也不可以这样做.在该类包外的子类中能“看到“的只是子类自己继承来的protected 方法和属性,它是不能“看到“它的父类对象的protected方法和